Python Pytorch:如何在张量内连接列表?

Python Pytorch:如何在张量内连接列表?,python,pytorch,concatenation,Python,Pytorch,Concatenation,我有一个大小为(2,b,h)的张量,我想将其更改为以下大小:(b,2*h),其中相应的列表是串联的,例如: a=torch.tensor([[1,2,3],[4,5,6],[4,4,4], [[4, 5, 6], [7, 8, 9], [5, 5, 5]]]) 我想: b=张量([[1,2,3,4,5,6], [4, 5, 6, 7, 8, 9], [4, 4, 4, 5, 5, 5]]) 为了连接pytorch中的张量,可以使用沿选定轴连接张量的函数。 在本例中,您可以执行以下操作: a=t

我有一个大小为
(2,b,h)
的张量,我想将其更改为以下大小:
(b,2*h)
,其中相应的列表是串联的,例如:

a=torch.tensor([[1,2,3],[4,5,6],[4,4,4],
[[4, 5, 6], [7, 8, 9], [5, 5, 5]]])
我想:

b=张量([[1,2,3,4,5,6],
[4, 5, 6, 7, 8, 9],
[4, 4, 4, 5, 5, 5]])

为了连接pytorch中的张量,可以使用沿选定轴连接张量的函数。 在本例中,您可以执行以下操作:

a=torch.tensor([[1,2,3],[4,5,6],[4,4,4],
[[4, 5, 6], [7, 8, 9], [5, 5, 5]]])
b=火炬。类别((a[0],a[1]),尺寸=1)
输出:
张量([[1,2,3,4,5,6],
[4, 5, 6, 7, 8, 9],
[4, 4, 4, 5, 5, 5]])

为了连接pytorch中的张量,可以使用沿选定轴连接张量的函数。 在本例中,您可以执行以下操作:

a=torch.tensor([[1,2,3],[4,5,6],[4,4,4],
[[4, 5, 6], [7, 8, 9], [5, 5, 5]]])
b=火炬。类别((a[0],a[1]),尺寸=1)
输出:
张量([[1,2,3,4,5,6],
[4, 5, 6, 7, 8, 9],
[4, 4, 4, 5, 5, 5]])

首先使用排列来更改尺寸顺序,然后使用连续来防止排列张量内的跨步,最后使用视图来重塑张量

b = a.permute(1,0,2).contiguous().view(a.shape[1],-1)

首先使用排列来更改标注顺序,然后使用连续来防止排列张量内的跨步,最后使用视图来重塑张量

b = a.permute(1,0,2).contiguous().view(a.shape[1],-1)

也是可行的。但对于一般情况来说,可能更难理解。此外,可能比我的提议慢一点。也是可行的。但对于一般情况来说,可能更难理解。而且,可能比我的提议慢一点。