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

Billboard image

Monitor more than uptime.

With Checkly, you can use Playwright tests and Javascript to monitor end-to-end scenarios in your NextJS, Astro, Remix, or other application.

Get started now!

Top comments (0)

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

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay