PHP前端开发

PyTorch 中的 atleast_

百变鹏仔 5天前 #Python
文章标签 PyTorch

请我喝杯咖啡☕

*备忘录:

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()# ()