深入浅出Pytorch函数——torch.Tensor.backward

分类目录:《深入浅出Pytorch函数》总目录
相关文章:
· 深入浅出Pytorch函数——torch.Tensor


计算当前张量相对于图的梯度,该函数使用链式法则对图进行微分。如果张量不是一个标量(即其数据具有多个元素)并且需要梯度,则函数还需要指定梯度。它应该是一个匹配类型和位置的张量,包含微分函数的梯度。此函数在累积了图中各叶子结点的梯度,在调用它之前,您可能需要使用zero.grad清零属性或将其设置为None

语法

Tensor.backward(gradient=None, retain_graph=None, create_graph=False, inputs=None)

参数

  • gradient:[Tensor/None] 相对张量的梯度。如果它是张量,它将自动转换为不需要grad的张量,除非create_graphTrue。对于标量或不需要梯度的张量应指定为None
  • retain_graph:[可选, bool] 如果为False,则用于计算梯度的图将被释放。请注意,在几乎所有情况下,都不需要将此选项设置为True,而且通常可以以更有效的方式解决。默认为create_graph的值。
  • create_graph:[可选, bool] 如果为True,将构建导数的图,从而可以计算更高阶的导数乘积,默认值为False
  • inputs:[List[Tensor]] 输入张量的梯度将累积为.grad。所有其他张量都将被忽略。如果没有提供,梯度将累积到用于计算的所有叶张量中。

猜你喜欢

转载自blog.csdn.net/hy592070616/article/details/131968272