pytorch torch.cat 但创建一个新维度

0sgqnhkj  于 2023-03-18  发布在  其他
关注(0)|答案(1)|浏览(160)

我想连接Tensor,不是沿着一个维度,而是通过创建一个新的维度。
例如:

x = torch.randn(2, 3)
x.shape # (2, 3)

torch.cat([x,x,x,x], 0).shape # (8, 3)
# This concats along dim 0, not what I want

torch.cat([x,x,x,x], -1).shape # (2, 10)
# This concats along dim 1, not what I want

torch.cat([x[None, :, :],x[None, :, :],x[None, :, :],x[None, :, :]], 0).shape 
# => (4, 2, 3)
# This is what I want, but unwieldy

有更简单的方法吗?

5kgi1eie

5kgi1eie1#

只需使用焊炬。堆栈:

torch.stack([x,x,x,x]).shape # (4, 2, 3)

相关问题