DEV Community

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

Posted on

atleast_2d in PyTorch

Buy Me a Coffee

*Memos:

atleast_2d() can get the view of the one or more 2D or more D tensors of zero or more elements by only changing one or more 0D or 1D tensors to one or more 2D tensors from the one or more 0D or more D tensors of zero or more elements as shown below:

*Memos:

  • atleast_2d() can be used with torch but not with a tensor.
  • The 1st or more arguments with torch are *tensors(Required-Type:tensor of int, float, complex or bool or tuple or list of tensor of int, float, complex or bool): *Memos:
    • If setting more than one tensors, a tuple of tensors is returned otherwise a tensor is returned.
    • Don't use any keyword like *tensors=, tensor or input.
  • Setting no arguments returns an empty tuple.
import torch

tensor0 = torch.tensor(2) # 0D tensor

torch.atleast_2d(tensor0)
# tensor([[2]])

tensor0 = torch.tensor(2) # 0D tensor
tensor1 = torch.tensor([2, 7, 4]) # 1D tensor
tensor2 = torch.tensor([[2, 7, 4], [8, 3, 2]]) # 2D tensor
tensor3 = torch.tensor([[[2, 7, 4], [8, 3, 2]], # 3D tensor
                        [[5, 0, 8], [3, 6, 1]]])
tensor4 = torch.tensor([[[[2, 7, 4], [8, 3, 2]], # 4D tensor
                         [[5, 0, 8], [3, 6, 1]]],
                        [[[9, 4, 7], [1, 0, 5]],
                         [[6, 7, 4], [2, 1, 9]]]])
torch.atleast_2d(tensor0, tensor1, tensor2, tensor3, tensor4)
torch.atleast_2d((tensor0, tensor1, tensor2, tensor3, tensor4))
# (tensor([[2]]),
#  tensor([[2, 7, 4]]),
#  tensor([[2, 7, 4], [8, 3, 2]]),
#  tensor([[[2, 7, 4], [8, 3, 2]],
#          [[5, 0, 8], [3, 6, 1]]]),
#  tensor([[[[2, 7, 4], [8, 3, 2]],
#           [[5, 0, 8], [3, 6, 1]]],
#          [[[9, 4, 7], [1, 0, 5]],
#           [[6, 7, 4], [2, 1, 9]]]]))

tensor0 = torch.tensor(2) # 0D tensor
tensor1 = torch.tensor([2, 7, 4]) # 1D tensor
tensor2 = torch.tensor([[2., 7., 4.], # 2D tensor
                        [8., 3., 2.]])
tensor3 = torch.tensor([[[2.+0.j, 7.+0.j, 4.+0.j], # 3D tensor
                         [8.+0.j, 3.+0.j, 2.+0.j]],
                        [[5.+0.j, 0.+0.j, 8.+0.j],
                         [3.+0.j, 6.+0.j, 1.+0.j]]])
tensor4 = torch.tensor([[[[True, False, True], [False, True, False]],
                         [[True, False, True], [False, True, False]]],
                        [[[True, False, True], [False, True, False]],
                         [[True, False, True], [False, True, False]]]])
                       # 4D tensor
torch.atleast_2d(tensor0, tensor1, tensor2, tensor3, tensor4)
# (tensor([[2]]),
#  tensor([[2, 7, 4]]),
#  tensor([[2., 7., 4.],
#          [8., 3., 2.]]),
#  tensor([[[2.+0.j, 7.+0.j, 4.+0.j],
#           [8.+0.j, 3.+0.j, 2.+0.j]],
#          [[5.+0.j, 0.+0.j, 8.+0.j],
#           [3.+0.j, 6.+0.j, 1.+0.j]]]),
#  tensor([[[[True, False, True], [False, True, False]],
#           [[True, False, True], [False, True, False]]],
#          [[[True, False, True], [False, True, False]],
#           [[True, False, True], [False, True, False]]]]))

torch.atleast_2d()
# ()
Enter fullscreen mode Exit fullscreen mode

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay