Pytorch将张量列表合并在一起



假设我有一个张量列表([a,B,C],其中的每个张量的形状为[batch_size X 1024]。
我想以以下方式将所有张量合并为一个张量:
a中的第一行是新张量中的第一列,B的第一列是新张量的seocnd列,C的第一列为新张量的第三列,依此类推
到目前为止,我使用for循环,但这根本没有效果。希望听到更有效的方法。
感谢

这里有一个最小的例子:

import torch
a = torch.tensor([[1,1],[1,1]])
b = torch.tensor([[2,2],[2,2]])
c = torch.tensor([[3,3],[3,3]])
torch.stack([a,b,c],dim=0).view(6,2).t().contiguous().view(6,2)

输出为:

tensor([[1, 1],
[2, 2],
[3, 3],
[1, 1],
[2, 2],
[3, 3]])

在您的情况下,视图(6,2(应该更改为batch_size*31024。

根据PyTorch论坛改编的解决方案其中示出了具有两个张量的示例。

最新更新