首页 > 解决方案 > 在保持梯度值的同时重复张量元素

问题描述

所以我有一个向量,我以某种方式计算了大小k

x = torch.FloatTensor([0.5, 0.3, 0.1, 0.7])
x = x + 2

我想获取它的第一个元素x[0]并创建一个大小k-1为 x[0] 的向量,以便与该元素一起出现的渐变出现在新向量中。

我尝试使用torch.full并填充它,x[0]但这并不能保留渐变。

使用 pytorch 1.4

标签: pythonpytorch

解决方案


您也可以.repeat这样使用(IMO 更简洁,更详细):

# type deduction is automatic
x = torch.tensor([0.5, 0.3, 0.1, 0.7])
x = x + 2
y = x[0].repeat(50)

梯度将被保留(梯度历史将被复制)。


推荐阅读