Python 将张量向量附加到张量矩阵

Python 将张量向量附加到张量矩阵,python,pytorch,Python,Pytorch,我有一个张量矩阵,我只想附加一个张量向量作为它的另一列 例如: X = torch.randint(100, (100,5)) x1 = torch.from_numpy(np.array(range(0, 100))) 我试过用不同的数字表示轴和dim的cat([x1,X),但它总是说尺寸不匹配。X的形状是[100,5],而X1的形状是100。对于串联,火炬在所有轴上都需要类似的形状,除了我们尝试连接的轴 所以,你首先需要 X1 = X1[:, None] # change

我有一个张量矩阵,我只想附加一个张量向量作为它的另一列

例如:

    X = torch.randint(100, (100,5))
    x1 = torch.from_numpy(np.array(range(0, 100)))

我试过用不同的数字表示
dim
的cat([x1,X)
,但它总是说尺寸不匹配。

X的形状是[100,5],而X1的形状是100。对于串联,火炬在所有轴上都需要类似的形状,除了我们尝试连接的轴

所以,你首先需要

X1 = X1[:, None] # change the shape from 100 to [100, 1]
Xc = torch.cat([X, X1], axis=-1) /# tells the torch that we need to concatenate over the last dimension

Xc.shape应该是[100,6]

X的形状是[100,5],而X1的形状是100。对于连接,除了我们尝试连接的轴之外,火炬在所有轴上都需要类似的形状

所以,你首先需要

X1 = X1[:, None] # change the shape from 100 to [100, 1]
Xc = torch.cat([X, X1], axis=-1) /# tells the torch that we need to concatenate over the last dimension
Xc.shape应该是[100,6]

您也可以使用它来组合和重塑
x1

torch.hstack([X,x1.unsqueze(1)])
您还可以使用来组合和重塑
x1

torch.hstack([X,x1.unsqueze(1)])

将这两个答案组合成一个兼容pytorch 1.6的版本:


torch.cat((X,x1.unsqueze(1)),dim=1)

将这两个答案组合成一个兼容pytorch 1.6的版本:


torch.cat((X,x1.unsqueze(1)),dim=1)< /代码> < /p>我相信一个注释从Python中的代码< >代码< >代码>而不是<代码> //<代码>。也可以将变量“<代码> o>代码>改为其他名称。谢谢,已经完成了……1轴是什么?第二,A,2D的轴是否是轴=1?在Python中,-1意味着最后一个元素,在你的情况下是1。我相信评论开始了。在Python中使用<代码> > < <代码> >而不是<代码> //<代码>。也就是说,将变量<代码> o <代码>改为其他名称。谢谢,已经完成了…1轴是什么?第二,A,现在,2D的轴是否是轴=1?在Python中,-1意味着最后一个元素,在你的情况下是1。这就是我正在寻找和试图使用的但是Woul。dn不起作用。基于你说这应该是我进一步调查的事情。我们使用的容器有pytorch 1.6。而这个函数是在1.7中添加的,非常令人沮丧。这是我一直在寻找并试图使用的,但不起作用。基于你说这应该是我进一步调查的事情。我们使用的容器有pytorch 1.6_而这个函数是在1.7中添加的,非常令人沮丧。