簡體   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