Shortcuts

torch.Tensor.requires_grad_

Tensor.requires_grad_(requires_grad=True) 张量

更改是否应在此张量上记录自动梯度操作:就地设置此张量的 requires_grad 属性。返回此张量。

requires_grad_()的主要用途是告诉autograd开始记录对张量tensor的操作。如果tensorrequires_grad=False(因为它是由DataLoader获取的,或者需要预处理或初始化),tensor.requires_grad_()使得autograd开始记录对tensor的操作。

Parameters

requires_grad (bool) – 如果自动求导应该记录对此张量的操作。 默认值: True

示例:

>>> # 假设我们想要预处理一些保存的权重并使用
>>> # 结果作为新的权重。
>>> saved_weights = [0.1, 0.2, 0.3, 0.25]
>>> loaded_weights = torch.tensor(saved_weights)
>>> weights = preprocess(loaded_weights)  # 某个函数
>>> weights
tensor([-0.5503,  0.4926, -2.1158, -0.8303])

>>> # 现在,开始记录对权重的操作
>>> weights.requires_grad_()
>>> out = weights.pow(2).sum()
>>> out.backward()
>>> weights.grad
tensor([-1.1007,  0.9853, -4.2316, -1.6606])
优云智算