1、torch.autograd.grad()
torch.autograd.grad(
outputs,
inputs,
grad_outputs=None,
retain_graph=None,
create_graph=False,
only_inputs=True,
allow_unused=False)
- 参数:
outputs
: 结果节点,即被求导数inputs
: 叶子节点grad_outputs
: 类似于backward方法中的grad_tensorsretain_graph
: 同上create_graph
: 同上only_inputs
: 默认为True, 如果为True, 则只会返回指定input的梯度值。 若为False,则会计算所有叶子节点的梯度,并且将计算得到的梯度累加到各自的.grad属性上去。allow_unused
: 默认为False, 即必须要指定input,如果没有指定的话则报错。
用一个最简单的例子说明:
现在有一个函数: y = w ∗ x y=w*x y=w∗x其中, x x x为输入数据, w w w