PyTorch 中,backward
方法和张量的 .grad
属性是自动微分(autograd)框架的核心功能,用于计算和存储梯度。这些工具使得深度学习模型的优化变得高效且易于实现。
1. backward
方法
backward
方法用于计算关于某个张量的梯度(即求导)。通常,它被用来对损失函数(标量)调用,以计算所有可训练参数(如模型权重)的梯度。
用法
tensor.backward(gradient=None, retain_graph=False, create_graph=False)
参数
-
gradient
(默认值:None
):- 用于指定外部梯度(通常在非标量张量调用时使用)。
- 对于标量张量(如损失函数),此参数为
None
,表示对标量求导。 - 如果
tensor
是向量,则需要提供一个与tensor
形状相同的gradient
参数。
-
retain_graph
(默认值:False