如何在pytorch中堆叠一维向量

时间:2018-12-25 00:29:35

标签: python pytorch

我正在尝试在pytorch中堆叠一维张量,但是stack函数似乎将它们解释为二维平方矩阵。有什么想法如何将一维张量堆叠到一个新的一维张量中吗?

可重复性:

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中

1 个答案:

答案 0 :(得分:0)

您可以尝试catofficial docs

a = torch.randn([2])
b = torch.randn([3])
c = torch.cat([a, b], dim=0)