繁体   English   中英

如何在 pytorch 中连接两个不同尺寸的张量

[英]how to concate two tensors with different dimensions in pytorch

我在 pytorch 中有两个具有这些形状的张量:

torch.Size([64, 100]) 和 torch.Size([64, 100, 256])

我想通过torch.cat连接它们,但它们的形状和大小应该相同。 所以我得到这个错误:

RuntimeError:张量必须具有相同的维数:得到 2 和 3

我应该怎么做才能解决这个问题? how can I convert 2d PyTorch tensor into 3d tensor OR how can I convert 3d PyTorch tensor to 2d tensor without losing any data? 或任何其他想法?

根据您要对这两个张量做什么,您可以考虑在最后一个轴上进行连接,以便生成的张量形状为(64, 100, 257) 这需要您首先在第一个张量上解压 singleton 尺寸:

>>> x, y = torch.rand(64, 100), torch.rand(64, 100, 256)
>>> z = torch.cat((x[..., None], y), -1)

>>> z.shape
torch.Size([64, 100, 257])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM