DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on • Updated on

gt(), lt(), ge() and le() in PyTorch

My post explains equal(), eq() and ne().

gt() can check the zero or more elements of the 1st 0D or more D tensor are greater than the zero or more elements of the 2nd 0D or more D tensor element-wise as shown below:

*Memos:

  • gt() can be used with torch or a tensor.
  • The 1st argument(tensor of int, float or bool) with torch or using a tensor(tensor of int, float or bool) is input(Required).
  • The 2nd argument(tensor of int, float or bool or int, float or bool) with torch or the 1st argument with a tensor(tensor of int, float or bool or int, float or bool) is other(Required).
  • greater() is the alias of gt().
import torch

tensor1 = torch.tensor(5)
tensor2 = torch.tensor([[3, 5, 4],
                        [6, 3, 5]])
torch.gt(input=tensor1, other=tensor2)
tensor1.gt(other=tensor2)
# tensor([[True, False, True],
#         [False, True, False]])

torch.gt(input=tensor2, other=tensor1)
# tensor([[False, False, False],
#         [True, False, False]])

torch.gt(input=tensor1, other=3)
# tensor(True)

torch.gt(input=tensor2, other=3)
# tensor([[False, True, True],
#         [True, False, True]])

tensor1 = torch.tensor([[5, 0, 3]])
tensor2 = torch.tensor([[5, 5, 5],
                        [0, 0, 0],
                        [3, 3, 3]])
torch.gt(input=tensor1, other=tensor2)
# tensor([[False, False, False],
#         [True, False, True], 
#         [True, False, False]])

torch.gt(input=tensor2, other=tensor1)
# tensor([[False, True, True],
#         [False, False, False],
#         [False, True, False]])

torch.gt(input=tensor1, other=3)
torch.gt(input=tensor1, other=3.)
# tensor([[True, False, False]])

torch.gt(input=tensor1, other=False)
# tensor([[True, False, True]])

torch.gt(input=tensor2, other=3)
torch.gt(input=tensor2, other=3.)
# tensor([[True, True, True],
#         [False, False, False],
#         [False, False, False]])

torch.gt(input=tensor2, other=False)
# tensor([[True, True, True],
#         [False, False, False],
#         [True, True, True]])

tensor1 = torch.tensor([5., 0., 3.])
tensor2 = torch.tensor([[True, False, True],
                        [False, True, False],
                        [True, False, True]])
torch.gt(input=tensor1, other=tensor2)
# tensor([[True, False, True],
#         [True, False, True],
#         [True, False, True]])

torch.gt(input=tensor2, other=tensor1)
# tensor([[False, False, False],
#         [False, True, False],
#         [False, False, False]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
                        [[5, 0, 4], [8, 9, 7]]])
torch.gt(input=tensor1, other=tensor2)
# tensor([[[True, False, False], [False, True, False]],
#         [[False, False, False], [False, False, False]]])

torch.gt(input=tensor2, other=tensor1)
# tensor([[[False, True, False], [False, False, False]],
#         [[False, False, True], [True, False, True]]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2., 7., 3.], [6., 3., True]],
                        [[5., False, 4.], [8., 9., 7.]]])
torch.gt(input=tensor1, other=tensor2)
# tensor([[[True, False, False], [False, True, False]],
#         [[False, False, False], [False, False, False]]])

torch.gt(input=tensor2, other=tensor1)
# tensor([[[False, True, False], [False, False, False]],
#         [[False, False, True], [True, False, True]]])

tensor1 = torch.tensor([[6, 9, 1], [5, 0, 3]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
                        [[5, 0, 4], [8, 9, 7]]])
torch.gt(input=tensor1, other=tensor2)
# tensor([[[True, True, False], [False, False, True]],
#         [[True, True, False], [False, False, False]]])

torch.gt(input=tensor2, other=tensor1)
# tensor([[[False, False, True], [True, True, False]],
#         [[False, False, True], [True, True, True]]])

torch.gt(input=tensor1, other=3)
# tensor([[True, False, False], [True, True, False]])

torch.gt(input=tensor2, other=3)
# tensor([[[False, True, False], [True, False, False]],
#         [[True, False, True], [True, True, True]]])
Enter fullscreen mode Exit fullscreen mode

lt() can check the zero or more elements of the 1st 0D or more D tensor are less than the zero or more elements of the 2nd 0D or more D tensor element-wise as shown below:

*Memos:

  • lt() can be used with torch or a tensor.
  • The 1st argument(tensor of int, float or bool) with torch or using a tensor(tensor of int, float or bool) is input(Required).
  • The 2nd argument(tensor of int, float or bool or int, float or bool) with torch or the 1st argument with a tensor(tensor of int, float or bool or int, float or bool) is other(Required).
  • less() is the alias of lt().
import torch

tensor1 = torch.tensor(5)
tensor2 = torch.tensor([[3, 5, 4],
                        [6, 3, 5]])
torch.lt(input=tensor1, other=tensor2)
tensor1.lt(other=tensor2)
# tensor([[False, False, False],
#         [True, False, False]])

torch.lt(input=tensor2, other=tensor1)
# tensor([[ True, False, True],
#         [False, True, False]])

torch.lt(input=tensor1, other=3)
# tensor(False)

torch.lt(input=tensor2, other=3)
# tensor([[False, False, False],
#         [False, False, False]])

tensor1 = torch.tensor([[5, 0, 3]])
tensor2 = torch.tensor([[5, 5, 5],
                        [0, 0, 0],
                        [3, 3, 3]])
torch.lt(input=tensor1, other=tensor2)
# tensor([[False, True, True],
#         [False, False, False],
#         [False, True, False]])

torch.lt(input=tensor2, other=tensor1)
# tensor([[False, False, False],
#         [True, False, True],
#         [True, False, False]])

torch.lt(input=tensor1, other=3)
torch.lt(input=tensor1, other=3.)
# tensor([[False, True, False]])

torch.lt(input=tensor1, other=False)
# tensor([[False, False, False]])

torch.lt(input=tensor2, other=3)
torch.lt(input=tensor2, other=3.)
# tensor([[False, False, False],
#         [True, True, True],
#         [False, False, False]])

torch.lt(input=tensor2, other=False)
# tensor([[False, False, False],
#         [False, False, False],
#         [False, False, False]])

tensor1 = torch.tensor([5., 0., 3.])
tensor2 = torch.tensor([[True, False, True],
                        [False, True, False],
                        [True, False, True]])
torch.lt(input=tensor1, other=tensor2)
# tensor([[False, False, False],
#         [False, True, False],
#         [False, False, False]])

torch.lt(input=tensor2, other=tensor1)
# tensor([[True, False, True],
#         [True, False, True],
#         [True, False, True]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
                        [[5, 0, 4], [8, 9, 7]]])
torch.lt(input=tensor1, other=tensor2)
# tensor([[[False, True, False], [False, False, False]],
#         [[False, False, True], [True, False, True]]])

torch.lt(input=tensor2, other=tensor1)
# tensor([[[True, False, False], [False, True, False]],
#         [[False, False, False], [False, False, False]]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2., 7., 3.], [6., 3., True]],
                        [[5., False, 4.], [8., 9., 7.]]])
torch.lt(input=tensor1, other=tensor2)
# tensor([[[False,  True, False], [False, False, False]],
#         [[False, False, True], [True, False, True]]])

torch.lt(input=tensor2, other=tensor1)
# tensor([[[True, False, False], [False, True, False]],
#         [[False, False, False], [False, False, False]]])

tensor1 = torch.tensor([[6, 9, 1], [5, 0, 3]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
                        [[5, 0, 4], [8, 9, 7]]])
torch.lt(input=tensor1, other=tensor2)
# tensor([[[False, False, True], [True, True, False]],
#        [[False, False, True], [True, True, True]]])

torch.lt(input=tensor2, other=tensor1)
# tensor([[[True, True, False], [False, False, True]],
#         [[True, True, False], [False, False, False]]])

torch.lt(input=tensor1, other=3)
# tensor([[False, False, True], [False, True, False]])

torch.lt(input=tensor2, other=3)
# tensor([[[True, False, False], [False, False, True]],
#         [[False, True, False], [False, False, False]]])
Enter fullscreen mode Exit fullscreen mode

ge() can check the zero or more elements of the 1st 0D or more D tensor are greater than or equal to the zero or more elements of the 2nd 0D or more D tensor element-wise as shown below:

*Memos:

  • ge() can be used with torch and a tensor.
  • The 1st argument(tensor of int, float or bool) with torch or using a tensor(tensor of int, float or bool) is input(Required).
  • The 2nd argument(tensor of int, float or bool or int, float or bool) with torch or the 1st argument with a tensor(tensor of int, float or bool or int, float or bool) is other(Required).
  • [greater_equal()](https://pytorch.org/docs/stable/generated/torch.greater_equal.html) is the alias ofge()`.

`python
import torch

tensor1 = torch.tensor(5)
tensor2 = torch.tensor([[3, 5, 4],
[6, 3, 5]])
torch.ge(input=tensor1, other=tensor2)
tensor1.ge(other=tensor2)

tensor([[True, True, True],

[False, True, True]])

torch.ge(input=tensor2, other=tensor1)

tensor([[False, True, False],

[True, False, True]])

torch.ge(input=tensor1, other=3)

tensor(True)

torch.ge(input=tensor2, other=3)

tensor([[True, True, True],

[True, True, True]])

tensor1 = torch.tensor([[5, 0, 3]])
tensor2 = torch.tensor([[5, 5, 5],
[0, 0, 0],
[3, 3, 3]])
torch.ge(input=tensor1, other=tensor2)

tensor([[True, False, False],

[True, True, True],

[True, False, True]])

torch.ge(input=tensor2, other=tensor1)

tensor([[True, True, True],

[False, True, False],

[False, True, True]])

torch.ge(input=tensor1, other=3)
torch.ge(input=tensor1, other=3.)

tensor([[True, False, True]])

torch.ge(input=tensor1, other=False)

tensor([[True, True, True]])

torch.ge(input=tensor2, other=3)
torch.ge(input=tensor2, other=3.)

tensor([[True, True, True],

[False, False, False],

[True, True, True]])

torch.ge(input=tensor2, other=False)

tensor([[True, True, True],

[True, True, True],

[True, True, True]])

tensor1 = torch.tensor([5., 0., 3.])
tensor2 = torch.tensor([[True, False, True],
[False, True, False],
[True, False, True]])
torch.ge(input=tensor1, other=tensor2)

tensor([[True, True, True],

[True, False, True],

[True, True, True]])

torch.ge(input=tensor2, other=tensor1)

tensor([[False, True, False],

[False, True, False],

[False, True, False]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
[[5, 0, 4], [8, 9, 7]]])
torch.ge(input=tensor1, other=tensor2)

tensor([[[True, False, True], [True, True, True]],

[[True, True, False], [False, True, False]]])

torch.ge(input=tensor2, other=tensor1)

tensor([[[False, True, True], [True, False, True]],

[[True, True, True], [True, True, True]]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2., 7., 3.], [6., 3., True]],
[[5., False, 4.], [8., 9., 7.]]])
torch.ge(input=tensor1, other=tensor2)

tensor([[[True, False, True], [True, True, True]],

[[True, True, False], [False, True, False]]])

torch.ge(input=tensor2, other=tensor1)

tensor([[[False, True, True], [True, False, True]],

[[True, True, True], [True, True, True]]])

tensor1 = torch.tensor([[6, 9, 1], [5, 0, 3]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
[[5, 0, 4], [8, 9, 7]]])
torch.ge(input=tensor1, other=tensor2)

tensor([[[True, True, False], [False, False, True]],

[[True, True, False], [False, False, False]]])

torch.ge(input=tensor2, other=tensor1)

tensor([[[False, False, True], [True, True, False]],

[[False, False, True], [True, True, True]]])

torch.ge(input=tensor1, other=3)

tensor([[True, True, False], [True, False, True]])

torch.ge(input=tensor2, other=3)

tensor([[[False, True, True], [True, True, False]],

[[True, False, True], [True, True, True]]])

`

le() can check the zero or more elements of the 1st 0D or more D tensor are less than or equal to the zero or more elements of the 2nd 0D or more D tensor element-wise as shown below:

*Memos:

  • le() can be used with torch and a tensor.
  • The 1st argument(tensor of int, float or bool) with torch or using a tensor(tensor of int, float or bool) is input(Required).
  • The 2nd argument(tensor of int, float or bool or int, float or bool) with torch or the 1st argument with a tensor(tensor of int, float or bool or int, float or bool) is other(Required).
  • less_equal() is the alias of le().

`python
import torch

tensor1 = torch.tensor(5)
tensor2 = torch.tensor([[3, 5, 4],
[6, 3, 5]])
torch.le(input=tensor1, other=tensor2)
tensor1.le(other=tensor2)

tensor([[False, True, False],

[True, False, True]])

torch.le(input=tensor2, other=tensor1)

tensor([[True, True, True],

[False, True, True]])

torch.le(input=tensor1, other=3)

tensor(False)

torch.le(input=tensor2, other=3)

tensor([[True, False, False],

[False, True, False]])

tensor1 = torch.tensor([[5, 0, 3]])
tensor2 = torch.tensor([[5, 5, 5],
[0, 0, 0],
[3, 3, 3]])
torch.le(input=tensor1, other=tensor2)

tensor([[True, True, True],

[False, True, False],

[False, True, True]])

torch.le(input=tensor2, other=tensor1)

tensor([[True, False, False],

[True, True, True],

[True, False, True]])

torch.le(input=tensor1, other=3)
torch.le(input=tensor1, other=3.)

tensor([[False, True, True]])

torch.le(input=tensor1, other=False)

tensor([[False, True, False]])

torch.le(input=tensor2, other=3)
torch.le(input=tensor2, other=3.)

tensor([[False, False, False],

[True, True, True],

[True, True, True]])

torch.le(input=tensor2, other=False)

tensor([[False, False, False],

[True, True, True],

[False, False, False]])

tensor1 = torch.tensor([5., 0., 3.])
tensor2 = torch.tensor([[True, False, True],
[False, True, False],
[True, False, True]])
torch.le(input=tensor1, other=tensor2)

tensor([[False, True, False],

[False, True, False],

[False, True, False]])

torch.le(input=tensor2, other=tensor1)

tensor([[True, True, True],

[True, False, True],

[True, True, True]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
[[5, 0, 4], [8, 9, 7]]])
torch.le(input=tensor1, other=tensor2)

tensor([[[False, True, True], [True, False, True]],

[[True, True, True], [True, True, True]]])

torch.le(input=tensor2, other=tensor1)

tensor([[[True, False, True], [True, True, True]],

[[True, True, False], [False, True, False]]])

tensor1 = torch.tensor([[5, 0, 3], [6, 9, 1]])
tensor2 = torch.tensor([[[2., 7., 3.], [6., 3., True]],
[[5., False, 4.], [8., 9., 7.]]])
torch.le(input=tensor1, other=tensor2)

tensor([[[False, True, True], [True, False, True]],

[[True, True, True], [True, True, True]]])

torch.le(input=tensor2, other=tensor1)

tensor([[[True, False, True], [True, True, True]],

[[True, True, False], [False, True, False]]])

tensor1 = torch.tensor([[6, 9, 1], [5, 0, 3]])
tensor2 = torch.tensor([[[2, 7, 3], [6, 3, 1]],
[[5, 0, 4], [8, 9, 7]]])
torch.le(input=tensor1, other=tensor2)

tensor([[[False, False, True], [True, True, False]],

[[False, False, True], [True, True, True]]])

torch.le(input=tensor2, other=tensor1)

tensor([[[True, True, False], [False, False, True]],

[[True, True, False], [False, False, False]]])

torch.le(input=tensor1, other=3)

tensor([[False, False, True], [False, True, True]])

torch.le(input=tensor2, other=3)

tensor([[[True, False, True], [False, True, True]],

[[False, True, False], [False, False, False]]])

`

Top comments (0)