DEV Community

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

Posted on • Updated on

all() and any() in PyTorch

all() can check if all the elements of a 0D or more D tensor are True as shown below:

*Memos:

  • all() can be used with torch or a tensor.
  • The 1st argument(tensor of int, float, complex or bool) with torch or using a tensor(tensor of int, float, complex or bool) is input(Required).
  • The 2nd argument(int, tuple of int or list of int) with torch or the 1st argument(int, tuple of int or list of int) with a tensor is dim(Optional).
  • The 3rd argument(bool) with torch or the 2nd argument(bool) with a tensor is keepdim(Optional-Default:False) which keeps the dimension of the input tensor.
  • An empty tensor returns True of a 1D or more D tensor or an empty 1D or more D tensor.
import torch

my_tensor = torch.tensor(True)

torch.all(input=my_tensor)
my_tensor.all()
torch.all(input=my_tensor, dim=0)
torch.all(input=my_tensor, dim=-1)
torch.all(input=my_tensor, dim=(0,))
torch.all(input=my_tensor, dim=(-1,))
# tensor(True)

torch.all(input=my_tensor, dim=0, keepdim=True)
# tensor(True)

my_tensor = torch.tensor([True, False, True, False])

torch.all(input=my_tensor)
torch.all(input=my_tensor, dim=0)
torch.all(input=my_tensor, dim=-1)
torch.all(input=my_tensor, dim=(0,))
torch.all(input=my_tensor, dim=(-1,))
# tensor(False)

torch.all(input=my_tensor, dim=0, keepdim=True)
# tensor([False])

my_tensor = torch.tensor([[True, False, True, False],
                          [True, False, True, False]])
torch.all(input=my_tensor)
torch.all(input=my_tensor, dim=(0, 1))
torch.all(input=my_tensor, dim=(0, -1))
torch.all(input=my_tensor, dim=(1, 0))
torch.all(input=my_tensor, dim=(1, -2))
torch.all(input=my_tensor, dim=(-1, 0))
torch.all(input=my_tensor, dim=(-1, -2))
torch.all(input=my_tensor, dim=(-2, 1))
torch.all(input=my_tensor, dim=(-2, -1))
# tensor(False)

torch.all(input=my_tensor, dim=0)
torch.all(input=my_tensor, dim=(0,))
torch.all(input=my_tensor, dim=-2)
# tensor([True, False, True, False])

torch.all(input=my_tensor, dim=1)
torch.all(input=my_tensor, dim=-1)
torch.all(input=my_tensor, dim=(-1,))
# tensor([False, False])

torch.all(input=my_tensor, dim=0, keepdim=True)
# tensor([[True, False, True, False]])

my_tensor = torch.tensor([[0, 1, 2, 3],
                          [4, 5, 6, 7]])
torch.all(input=my_tensor)
# tensor(False)

my_tensor = torch.tensor([[0., 1., 2., 3.],
                          [4., 5., 6., 7.]])
torch.all(input=my_tensor)
# tensor(False)

my_tensor = torch.tensor([[0.+0.j, 1.+0.j, 2.+0.j, 3.+0.j],
                          [4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j]])
torch.all(input=my_tensor)
# tensor(False)
Enter fullscreen mode Exit fullscreen mode

any() can check if any element of a 0D or more D tensor is True as shown below:

*Memos:

  • any() can be used with torch or a tensor.
  • The 1st argument(tensor of int, float, complex or bool) with torch or using a tensor(tensor of int, float, complex or bool) is input(Required).
  • The 2nd argument(int, tuple of int or list of int) with torch or the 1st argument(int, tuple of int or list of int) with a tensor is dim(Optional).
  • The 3rd argument(bool) with torch or the 2nd argument(bool) with a tensor is keepdim(Optional-Default:False) which keeps the dimension of the input tensor.
  • An empty tensor returns False of a 1D or more D tensor or an empty 1D or more D tensor.
import torch

my_tensor = torch.tensor(True)

torch.any(input=my_tensor)
my_tensor.any()
torch.any(input=my_tensor, dim=0)
torch.any(input=my_tensor, dim=-1)
torch.any(input=my_tensor, dim=(0,))
torch.any(input=my_tensor, dim=(-1,))
# tensor(True)

torch.any(input=my_tensor, dim=0, keepdim=True)
# tensor(True)

my_tensor = torch.tensor([True, False, True, False])

torch.any(input=my_tensor)
torch.any(input=my_tensor, dim=0)
torch.any(input=my_tensor, dim=-1)
torch.any(input=my_tensor, dim=(0,))
torch.any(input=my_tensor, dim=(-1,))
# tensor(True)

torch.any(input=my_tensor, dim=0, keepdim=True)
# tensor([True])

my_tensor = torch.tensor([[True, False, True, False],
                          [True, False, True, False]])
torch.any(input=my_tensor)
torch.any(input=my_tensor, dim=(0, 1))
torch.any(input=my_tensor, dim=(0, -1))
torch.any(input=my_tensor, dim=(1, 0))
torch.any(input=my_tensor, dim=(1, -2))
torch.any(input=my_tensor, dim=(-1, 0))
torch.any(input=my_tensor, dim=(-1, -2))
torch.any(input=my_tensor, dim=(-2, 1))
torch.any(input=my_tensor, dim=(-2, -1))
# tensor(True)

torch.any(input=my_tensor, dim=0)
torch.any(input=my_tensor, dim=(0,))
torch.any(input=my_tensor, dim=-2)
# tensor([True, False, True, False])

torch.any(input=my_tensor, dim=1)
torch.any(input=my_tensor, dim=-1)
torch.any(input=my_tensor, dim=(-1,))
# tensor([True, True])

torch.any(input=my_tensor, dim=0, keepdim=True)
# tensor([[True, False, True, False]])

my_tensor = torch.tensor([[0, 1, 2, 3],
                          [4, 5, 6, 7]])
torch.any(input=my_tensor)
# tensor(True)

my_tensor = torch.tensor([[0., 1., 2., 3.],
                          [4., 5., 6., 7.]])
torch.any(input=my_tensor)
# tensor(True)

my_tensor = torch.tensor([[0.+0.j, 1.+0.j, 2.+0.j, 3.+0.j],
                          [4.+0.j, 5.+0.j, 6.+0.j, 7.+0.j]])
torch.any(input=my_tensor)
# tensor(True)
Enter fullscreen mode Exit fullscreen mode

Top comments (0)