pytorch之backward()

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

使用链规则区分图表。如果张量是非标量的(即其数据具有多个元素)并且需要梯度,则该函数还需要指定gradient。它应该是匹配类型和位置的张量,它包含差分函数wrt的梯度self。

此函数在叶子中累积渐变 - 您可能需要在调用之前将它们归零。

参数:
渐变(Tensor或None) - 渐变与张量相关。如果是张量,它将自动转换为不需要grad的Tensor,除非create_graph是True。对于标量张量或不需要grad的值,不能指定任何值。如果None值是可接受的,则此参数是可选的。
retain_graph(bool,optional) - 如果False,用于计算梯度的图形将被释放。请注意,几乎在所有情况下都不需要将此选项设置为True,并且通常可以以更有效的方式解决此问题。默认值为 create_graph。
create_graph(bool,optional) - 如果True,将构造衍生图,允许计算更高阶的衍生产品。默认为False。
detach()
返回与当前图形分离的新Tensor。

结果永远不需要渐变。

你可能感兴趣的:(pytorch之backward())