torch.Tensor.requires_grad_

Tensor.requires_grad_(requires_grad=True) Tensor

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

requires_grad_()的主要用途是告诉自动求导系统开始记录 Tensor tensor 上的操作。如果 tensorrequires_grad=False(因为它通过 DataLoader 获得,或者需要预处理或初始化),调用 tensor.requires_grad_() 会使自动求导系统开始记录在 tensor 上的操作。

参数

requires_grad (bool) – 是否启用自动梯度记录,记录对此张量的操作。默认值: True

示例:

>>> # Let's say we want to preprocess some saved weights and use
>>> # the result as new weights.
>>> saved_weights = [0.1, 0.2, 0.3, 0.25]
>>> loaded_weights = torch.tensor(saved_weights)
>>> weights = preprocess(loaded_weights)  # some function
>>> weights
tensor([-0.5503,  0.4926, -2.1158, -0.8303])

>>> # Now, start to record operations done to weights
>>> weights.requires_grad_()
>>> out = weights.pow(2).sum()
>>> out.backward()
>>> weights.grad
tensor([-1.1007,  0.9853, -4.2316, -1.6606])