DEV Community

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

Posted on • Edited on

aminmax, amin and amax in PyTorch

Buy Me a Coffee

*Memos:

aminmax() can get two of the 0D or more D tensors of zero or more minimum and maximum elements from the 0D or more D tensor of zero or more elements as shown below:

*Memos:

  • aminmax() can be used with torch or a tensor.
  • The 1st argument(input) with torch or using a tensor(Required-Type:tensor of int, float or bool).
  • There is dim argument with torch or a tensor(Optional-Type:int): *Memos:
    • Setting dim can get zero or more 1st minimum and maximum elements.
    • You must use dim=.
  • There is keepdim argument with torch or a tensor(Optional-Default:False-Type:bool): *Memos:
    • You must use keepdim=.
    • My post explains keepdim argument.
  • There is out argument with torch(Optional-Default:None-Type:tuple(tensor, tensor) or list(tensor, tensor)): *Memos:
    • out= must be used.
    • My post explains out argument.
  • The 0D tensor of one complex number with dim=0 or dim=-1 works.
  • An empty 2D or more D input tensor or tensor doesn't work if not setting dim.
  • An empty 1D input tensor or tensor doesn't work even if setting dim.
import torch my_tensor = torch.tensor([[5, 4, 7, 7], [6, 5, 3, 5], [3, 8, 9, 3]]) torch.aminmax(input=my_tensor) my_tensor.aminmax() # torch.return_types.aminmax( # min=tensor(3), # max=tensor(9))  torch.aminmax(input=my_tensor, dim=0) torch.aminmax(input=my_tensor, dim=-2) # torch.return_types.aminmax( # min=tensor([3, 4, 3, 3]), # max=tensor([6, 8, 9, 7]))  torch.aminmax(input=my_tensor, dim=1) torch.aminmax(input=my_tensor, dim=-1) # torch.return_types.aminmax( # min=tensor([4, 3, 3]), # max=tensor([7, 6, 9]))  my_tensor = torch.tensor([[5., 4., 7., 7.], [6., 5., 3., 5.], [3., 8., 9., 3.]]) torch.aminmax(input=my_tensor) # torch.return_types.aminmax( # min=tensor(3.), # max=tensor(9.))  my_tensor = torch.tensor([[True, False, True, False], [False, True, False, True], [True, False, True, False]]) torch.aminmax(input=my_tensor) # torch.return_types.aminmax( # min=tensor(False), # max=tensor(True))  my_tensor = torch.tensor(5.+7.j) torch.aminmax(input=my_tensor, dim=0) torch.aminmax(input=my_tensor, dim=-1) # torch.return_types.aminmax( # min=tensor(5.+7.j), # max=tensor(5.+7.j))  my_tensor = torch.tensor([]) my_tensor = torch.tensor([[]]) my_tensor = torch.tensor([[[]]]) torch.aminmax(input=my_tensor) # Error  my_tensor = torch.tensor([]) torch.aminmax(input=my_tensor, dim=0) # Error  my_tensor = torch.tensor([[]]) torch.aminmax(input=my_tensor, dim=0) # torch.return_types.aminmax( # min=tensor([]), # max=tensor([]))  my_tensor = torch.tensor([[[]]]) torch.aminmax(input=my_tensor, dim=0) # torch.return_types.aminmax( # min=tensor([], size=(1, 0)), # max=tensor([], size=(1, 0))) 
Enter fullscreen mode Exit fullscreen mode

amin() can get the 0D or more D tensor of zero or more minimum elements from the 0D or more D tensor of zero or more elements as shown below:

*Memos:

  • amin() can be used with torch or a tensor.
  • The 1st argument(input) with torch or using a tensor(Required-Type:tensor of int, float or bool).
  • The 2nd argument with torch or the 1st argument with a tensor is dim(Optional-Type:int, tuple of int or list of int). *Setting dim can get zero or more 1st minimum elements.
  • The 3rd argument with torch or the 2nd argument with a tensor is keepdim(Optional-Default:False-Type:bool). *My post explains keepdim argument.
  • There is out argument with torch(Optional-Default:None-Type:tensor): *Memos:
    • out= must be used.
    • My post explains out argument.
  • An empty 2D or more D input tensor or tensor doesn't work if not setting dim.
  • An empty 1D input tensor or tensor doesn't work even if setting dim.
import torch my_tensor = torch.tensor([[5, 4, 7, 7], [6, 5, 3, 5], [3, 8, 9, 3]]) torch.amin(input=my_tensor) my_tensor.amin() torch.amin(input=my_tensor, dim=(0, 1)) torch.amin(input=my_tensor, dim=(0, -1)) torch.amin(input=my_tensor, dim=(1, 0)) torch.amin(input=my_tensor, dim=(1, -2)) torch.amin(input=my_tensor, dim=(-1, 0)) torch.amin(input=my_tensor, dim=(-1, -2)) torch.amin(input=my_tensor, dim=(-2, 1)) torch.amin(input=my_tensor, dim=(-2, -1)) # tensor(3)  torch.amin(input=my_tensor, dim=0) torch.amin(input=my_tensor, dim=-2) torch.amin(input=my_tensor, dim=(0,)) torch.amin(input=my_tensor, dim=(-2,)) # tensor([3, 4, 3, 3])  torch.amin(input=my_tensor, dim=1) torch.amin(input=my_tensor, dim=-1) torch.amin(input=my_tensor, dim=(1,)) torch.amin(input=my_tensor, dim=(-1,)) # tensor([4, 3, 3])  my_tensor = torch.tensor([[5., 4., 7., 7.], [6., 5., 3., 5.], [3., 8., 9., 3.]]) torch.amin(input=my_tensor) # tensor(3.)  my_tensor = torch.tensor([[True, False, True, False], [False, True, False, True], [True, False, True, False]]) torch.amin(input=my_tensor) # tensor(False)  my_tensor = torch.tensor([]) my_tensor = torch.tensor([[]]) my_tensor = torch.tensor([[[]]]) torch.amin(input=my_tensor) # Error  my_tensor = torch.tensor([]) torch.amin(input=my_tensor, dim=0) # Error  my_tensor = torch.tensor([[]]) torch.amin(input=my_tensor, dim=0) # tensor([])  my_tensor = torch.tensor([[[]]]) torch.amin(input=my_tensor, dim=0) # tensor([], size=(1, 0)) 
Enter fullscreen mode Exit fullscreen mode

amax() can get the 0D or more D tensor of zero or more maximum elements from the 0D or more D tensor of zero or more elements as shown below:

*Memos:

  • amax() can be used with torch or a tensor.
  • The 1st argument(input) with torch or using a tensor(Required-Type:tensor of int, float or bool).
  • The 2nd argument with torch or the 1st argument with a tensor is dim(Optional-Type:int, tuple of int or list of int). *Setting dim can get zero or more 1st maximum elements.
  • The 3rd argument with torch or the 2nd argument is keepdim(Optional-Default:False-Type:bool). *My post explains keepdim argument.
  • There is out argument with torch(Optional-Default:None-Type:tensor): *Memos:
    • out= must be used.
    • My post explains out argument.
  • An empty 2D or more D input tensor or tensor doesn't work if not setting dim.
  • An empty 1D input tensor or tensor doesn't work even if setting dim.
import torch my_tensor = torch.tensor([[5, 4, 7, 7], [6, 5, 3, 5], [3, 8, 9, 3]]) torch.amax(input=my_tensor) my_tensor.amax() torch.amax(input=my_tensor, dim=(0, 1)) torch.amax(input=my_tensor, dim=(0, -1)) torch.amax(input=my_tensor, dim=(1, 0)) torch.amax(input=my_tensor, dim=(1, -2)) torch.amax(input=my_tensor, dim=(-1, 0)) torch.amax(input=my_tensor, dim=(-1, -2)) torch.amax(input=my_tensor, dim=(-2, 1)) torch.amax(input=my_tensor, dim=(-2, -1)) # tensor(9)  torch.amax(input=my_tensor, dim=0) torch.amax(input=my_tensor, dim=-2) torch.amax(input=my_tensor, dim=(0,)) torch.amax(input=my_tensor, dim=(-2,)) # tensor([6, 8, 9, 7])  torch.amax(input=my_tensor, dim=1) torch.amax(input=my_tensor, dim=-1) torch.amax(input=my_tensor, dim=(1,)) torch.amax(input=my_tensor, dim=(-1,)) # tensor([7, 6, 9])  my_tensor = torch.tensor([[5., 4., 7., 7.], [6., 5., 3., 5.], [3., 8., 9., 3.]]) torch.amax(input=my_tensor) # tensor(9.)  my_tensor = torch.tensor([[True, False, True, False], [False, True, False, True], [True, False, True, False]]) torch.amax(input=my_tensor) # tensor(True)  my_tensor = torch.tensor([]) my_tensor = torch.tensor([[]]) my_tensor = torch.tensor([[[]]]) torch.amax(input=my_tensor) # Error  my_tensor = torch.tensor([]) torch.amax(input=my_tensor, dim=0) # Error  my_tensor = torch.tensor([[]]) torch.amax(input=my_tensor, dim=0) # tensor([])  my_tensor = torch.tensor([[[]]]) torch.amax(input=my_tensor, dim=0) # tensor([], size=(1, 0)) 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)