如何沿给定轴连接张量?

时间:2019-09-03 19:16:57

标签: python pytorch tensor


import torch

a = torch.Tensor(2,2,2)

b = myfunction(a)

print(a)
>>> [[[1,2],
      [5,6]],
     [[7,8],
      [9,10]]]

print(b)
>>> [[1,2,7,8],
     [5,6,9,10]]

如何编码myfunction以从a获得b?

是否有一些pytorch函数以这种方式进行转换?

1 个答案:

答案 0 :(得分:1)

您可以使用transpose交换前两个轴(例如np.swapaxes)和reshape以获得所需的形状来实现此目的:

In [12]: a
Out[12]:
tensor([[[  1.,   2.],
         [  5.,   6.]],

        [[  7.,   8.],
         [  9.,  10.]]])

In [13]: a.transpose(0, 1).reshape(2, 4)
Out[13]:
tensor([[  1.,   2.,   7.,   8.],
        [  5.,   6.,   9.,  10.]])