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函数以这种方式进行转换?
答案 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.]])