假设我有一个2DTensorx
,形状为(n,m)
。如何通过指定零行在生成的Tensor中的位置索引,在x
中添加零行来扩展Tensor的第一维?举个具体的例子:
x = torch.tensor([[1,1,1],
[2,2,2],
[3,3,3],
[4,4,4]])
我想附加2个零行,这样它们的行索引在结果Tensor中分别为1、3,也就是说,在本例中,结果为
X = torch.tensor([1,1,1],
[0,0,0],
[2,2,2],
[0,0,0],
[3,3,3],
[4,4,4]])
我尝试使用F.pad
和reshape
。
2条答案
按热度按时间wvt8vs2t1#
您可以使用
torch.tensor.index_add_
。输出量:
f1tvaqid2#
您可以使用
torch.cat
:此代码与反向传播兼容,因为Tensor不会就地修改。
更多信息:What's the difference between torch.stack() and torch.cat()?