我有一个张量矩阵,我只是想附加一个张量向量作为它的另一列。
例如:
X = torch.randint(100, (100,5))
x1 = torch.from_numpy(np.array(range(0, 100)))
我试过torch.cat([x1, X)
与axis
和dim
的各种数字,但它总是说尺寸不匹配。
您也可以使用torch.hstack
来组合unsqueeze
来重塑x1
torch.hstack([X, x1.unsqueeze(1)])
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
我。形状应为[100,6]
将两个答案合并成pytorch 1.6兼容的版本:
torch.cat((X, x1.unsqueeze(1)), dim = 1)