DEV Community

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

Posted on • Edited on

Set `out` argument in PyTorch

Buy Me a Coffee

*Memos:

You can set out as shown below:

*Memos:

  • I selected some popular out argument functions such as arange(), rand() add(), mean(), median(), min(), max(), all(), any() and matmul().
  • Basically, out(Optional-Default-None-Type:tensor) can have a returned tensor. *Sometimes, out(Optional-Default-None-Type:tuple(tensor, tensor) or list(tensor, tensor)).
  • Basically, out can be used with torch but not with a tensor.
  • Basically, out= must be used.
  • Sometimes, out needs to be used with dim.
  • I recommend not to use out argument because it is useless at all.

arange(). *My post explains arange():

import torch torch.arange(start=5, end=15, step=4) # tensor([5, 9, 13])  my_tensor = torch.tensor([0, 1, 2]) torch.arange(start=5, end=15, step=4, out=my_tensor) # tensor([5, 9, 13])  tensor1 = torch.tensor([0, 1, 2]) tensor2 = torch.arange(start=5, end=15, step=4, out=tensor1) tensor1, tensor2 # (tensor([5, 9, 13]), tensor([5, 9, 13])) 
Enter fullscreen mode Exit fullscreen mode

rand(). *My post explains rand():

import torch tensor1 = torch.tensor([0., 1., 2.]) tensor2 = torch.rand(size=(3,), out=tensor1) tensor1, tensor2 # (tensor([0.3379, 0.9394, 0.5509]), tensor([0.3379, 0.9394, 0.5509])) 
Enter fullscreen mode Exit fullscreen mode

add(). *My post explains add():

import torch tensor1 = torch.tensor([1, 2, 3]) tensor2 = torch.tensor([4, 5, 6]) tensor3 = torch.tensor([7, 8, 9]) tensor4 = torch.add(input=tensor1, other=tensor2, out=tensor3) tensor1, tensor2, tensor3, tensor4 # (tensor([1, 2, 3]), tensor([4, 5, 6]), tensor([5, 7, 9]), tensor([5, 7, 9])) 
Enter fullscreen mode Exit fullscreen mode

mean(). *My post explains mean():

import torch tensor1 = torch.tensor([5., 4., 7., 7.]) tensor2 = torch.tensor(9.) tensor3 = torch.mean(input=tensor1, dim=0, out=tensor2) tensor1, tensor2, tensor3 # (tensor([5., 4., 7., 7.]), tensor(5.7500), tensor(5.7500)) 
Enter fullscreen mode Exit fullscreen mode

median(). *My post explains median():

import torch tensor1 = torch.tensor([5., 4., 7., 7.]) tensor2 = torch.tensor(9.) tensor3 = torch.tensor(6) tensor4 = torch.median(input=tensor1, dim=0, out=(tensor2, tensor3)) tensor1, tensor2, tensor3, tensor4 # (tensor([5., 4., 7., 7.]), # tensor(5.), # tensor(0), # torch.return_types.median_out( # values=tensor(5.), # indices=tensor(0))) 
Enter fullscreen mode Exit fullscreen mode

min(). *My post explains min():

import torch tensor1 = torch.tensor([5, 4, 7, 7]) tensor2 = torch.tensor(9) tensor3 = torch.tensor(6) tensor4 = torch.min(input=tensor1, dim=0, out=(tensor2, tensor3)) tensor1, tensor2, tensor3, tensor4 # (tensor([5, 4, 7, 7]), # tensor(4), # tensor(1), # torch.return_types.min_out( # values=tensor(4), # indices=tensor(1))) 
Enter fullscreen mode Exit fullscreen mode

max(). *My post explains max():

import torch tensor1 = torch.tensor([5, 4, 7, 7]) tensor2 = torch.tensor(9) tensor3 = torch.tensor(6) tensor4 = torch.max(input=tensor1, dim=0, out=(tensor2, tensor3)) tensor1, tensor2, tensor3, tensor4 # (tensor([5, 4, 7, 7]), # tensor(7), # tensor(2), # torch.return_types.max_out( # values=tensor(7), # indices=tensor(2))) 
Enter fullscreen mode Exit fullscreen mode

all(). *My post explains all():

import torch tensor1 = torch.tensor([True, False, True, False]) tensor2 = torch.tensor(True) tensor3 = torch.all(input=tensor1, out=tensor2) tensor3 = torch.all(input=tensor1, dim=0, out=tensor2) tensor1, tensor2, tensor3 # (tensor([True, False, True, False]), tensor(False), tensor(False)) 
Enter fullscreen mode Exit fullscreen mode

any(). *My post explains any():

import torch tensor1 = torch.tensor([True, False, True, False]) tensor2 = torch.tensor(True) tensor3 = torch.any(input=tensor1, out=tensor2) tensor3 = torch.any(input=tensor1, dim=0, out=tensor2) tensor1, tensor2, tensor3 # (tensor([True, False, True, False]), tensor(True), tensor(True)) 
Enter fullscreen mode Exit fullscreen mode

matmul(). *My post explains matmul():

import torch tensor1 = torch.tensor([2, -5, 4]) tensor2 = torch.tensor([3, 6, -1]) tensor3 = torch.tensor(7) tensor4 = torch.matmul(input=tensor1, other=tensor2, out=tensor3) tensor1, tensor2, tensor3, tensor4 # (tensor([2, -5, 4]), tensor([3, 6, -1]), tensor(-28), tensor(-28)) 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)