torch.Tensor.requires_grad_¶
- Tensor.requires_grad_(requires_grad=True) 张量¶
更改是否应在此张量上记录自动梯度操作:就地设置此张量的
requires_grad属性。返回此张量。requires_grad_()的主要用途是告诉autograd开始记录对张量tensor的操作。如果tensor的requires_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])