如下程序

import torcha = torch.tensor(1.0, requires_grad=True)b = torch.tensor(1.0, requires_grad=True)print(a.grad)y = (a ** 2) * (b ** 3)z = y ** 100print(z)z.backward()print(a.grad.data)print(b.grad.data)

将会打印

None
tensor(1., grad_fn=<PowBackward0>)
tensor(200.)
tensor(300.)
前向流传就是z的值是从a b计算y的值 再从y计算z的值
反向流传就是从z对 a b的表达式中计算对应的偏导