如何在pytorch中堆叠一维向量

我试图在 pytorch 中堆叠一维张量,但堆栈函数似乎将它们解释为二维方阵。任何想法如何将一维张量堆叠成一个新的一维张量?


再现性:


a = torch.randn([2])

b = torch.randn([3])

c = torch.stack([a, b]) # want a (5,) tensor


RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 2 and 3 in dimension 1 at c:\new-builder_3\win-wheel\pytorch\aten\src\th\generic/THTensorMath.cpp:3616

如果我将 a 和 b 解压缩为 (2,1) 和 (3,1) 张量或压缩它们(应该无效),错误仍然存在。这似乎也很奇怪,因为它们在未压缩时都应该是维度 1 中的大小 1(并且打印它们的大小将准确反映这一点),但错误仍然出现相同的字符对字符。


此外,在维度 1 中堆叠只会使其说“...维度 0 中的 2 和 3...”。


这一切都在 python 3.5.4,pytorch 0.4.1 中


ibeautiful
浏览 296回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python