DEV Community

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

Posted on

atleast_3d in PyTorch

Buy Me a Coffee

*Memos:

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

*Memos:

  • atleast_3d() 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_3d(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_3d(tensor0, tensor1, tensor2, tensor3, tensor4)
torch.atleast_3d((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_3d(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]],

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

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay