【问题标题】:How do I concatenate tensors along a given axis?如何沿给定轴连接张量?
【发布时间】:2019-09-04 04:15:06
【问题描述】:

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 函数可以以这种方式转换 a?

【问题讨论】:

    标签: python pytorch tensor


    【解决方案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.]])
    

    【讨论】:

      猜你喜欢
      • 2018-04-29
      • 2018-02-24
      • 1970-01-01
      • 2017-12-01
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      • 2016-05-01
      相关资源
      最近更新 更多