DEV Community

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

Posted on • Edited on

exp and exp2 in PyTorch

Buy Me a Coffee

*Memos:

exp() can get the 0D or more D tensor of the zero or more elements by ex from the 0D or more D tensor of zero or more elements as shown below:

*Memos:

  • exp() can be used with torch or a tensor.
  • The 1st argument(input) with torch or using a tensor(Required-Type:tensor of int, float, complex or bool).
  • There is out argument with torch(Optional-Default:None-Type:tensor): *Memos:
    • out= must be used.
    • My post explains out argument.
  • *A float tensor is returned unless an input tensor is complex tensor.
  • The formula is y = ex.
  • The graph in Desmos: Image description
import torch

my_tensor = torch.tensor([-2., -1., 0., 1., 2., 3.])

torch.exp(input=my_tensor)
my_tensor.exp()
# tensor([0.1353, 0.3679, 1.0000, 2.7183, 7.3891, 20.0855])

my_tensor = torch.tensor([[-2., -1., 0.],
                          [1., 2., 3.]])
torch.exp(input=my_tensor)
# tensor([[0.1353, 0.3679, 1.0000],
#         [2.7183, 7.3891, 20.0855]])

my_tensor = torch.tensor([[-2, -1, 0],
                          [1, 2, 3]])
torch.exp(input=my_tensor)
# tensor([[0.1353, 0.3679, 1.0000],
#         [2.7183, 7.3891, 20.0855]])

my_tensor = torch.tensor([[-2.+0.j, -1.+0.j, 0.+0.j],
                          [1.+0.j, 2.+0.j, 3.+0.j]])
torch.exp(input=my_tensor)
# tensor([[0.1353+0.j, 0.3679+0.j, 1.0000+0.j],
#         [2.7183+0.j, 7.3891+0.j, 20.0855+0.j]])

my_tensor = torch.tensor([[True, False, True],
                          [False, True, False]])
torch.exp(input=my_tensor)
# tensor([[2.7183, 1.0000, 2.7183],
#         [1.0000, 2.7183, 1.0000]])
Enter fullscreen mode Exit fullscreen mode

exp2() can get the 0D or more D tensor of the zero or more elements by 2x from the 0D or more D tensor of zero or more elements as shown below:

*Memos:

  • exp2() can be used with torch or a tensor.
  • The 1st argument(input) with torch or using a tensor(Required-Type:tensor of int, float, complex or bool).
  • There is out argument with torch(Optional-Default:None-Type:tensor): *Memos:
    • out= must be used.
    • My post explains out argument.
  • *A float tensor is returned unless an input tensor is complex tensor.
  • torch.exp2() is the alias of torch.special.exp2().
  • The formula is y = 2x.
  • The graph in Desmos: Image description
import torch

my_tensor = torch.tensor([-2., -1., 0., 1., 2., 3.])

torch.exp2(input=my_tensor)
my_tensor.exp2()
# tensor([0.2500, 0.5000, 1.0000, 2.0000, 4.0000, 8.0000])

my_tensor = torch.tensor([[-2., -1., 0.],
                          [1., 2., 3.]])
torch.exp2(input=my_tensor)
# tensor([[0.2500, 0.5000, 1.0000],
#         [2.0000, 4.0000, 8.0000]])

my_tensor = torch.tensor([[-2, -1, 0],
                          [1, 2, 3]])
torch.exp2(input=my_tensor)
# tensor([[0.2500, 0.5000, 1.0000],
#         [2.0000, 4.0000, 8.0000]])

my_tensor = torch.tensor([[-2.+0.j, -1.+0.j, 0.+0.j],
                          [1.+0.j, 2.+0.j, 3.+0.j]])
torch.exp2(input=my_tensor)
# tensor([[0.2500+0.j, 0.5000+0.j, 1.0000+0.j],
#         [2.0000+0.j, 4.0000+0.j, 8.0000+0.j]])

my_tensor = torch.tensor([[True, False, True],
                          [False, True, False]])
torch.exp2(input=my_tensor)
# tensor([[2., 1., 2.],
#         [1., 2., 1.]])
Enter fullscreen mode Exit fullscreen mode

Top comments (0)