PyTorch 中的 atleast_
请我喝杯咖啡☕
*备忘录:
atleast_1d()只需将一个或多个0d或多个d张量从一个或多个0d或多个d张量更改为一个或多个1d张量即可获得零个或多个元素的一个或多个1d或多个d张量的视图零个或多个元素,如下所示:
*备忘录:
import torchtensor0 = torch.tensor(2) # 0D tensortorch.atleast_1d(tensor0)# tensor([2])tensor0 = torch.tensor(2) # 0D tensortensor1 = torch.tensor([2, 7, 4]) # 1D tensortensor2 = torch.tensor([[2, 7, 4], [8, 3, 2]]) # 2D tensortensor3 = 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_1d(tensor0, tensor1, tensor2, tensor3, tensor4)torch.atleast_1d((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 tensortensor1 = torch.tensor([2, 7, 4]) # 1D tensortensor2 = 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 tensortorch.atleast_1d(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_1d()# ()