有关PyTorch中的后退方法的问题

时间:2019-08-17 08:48:30

标签: pytorch

要检查我对PyTorch的{​​{1}}方法的理解,我正在尝试以下代码段:

backward

通过手工计算,我得到import torch x = torch.rand(3,requires_grad=True) y = 2 * x z = 3 * y l = torch.sum(z) l.backward() dl/dz = (1.,1.,1.),并且我相信dl/dy = (3.,3.,3.)方法会使用此信息,以便使用雅可比矢量积来计算backward

现在,当我执行dl/dx = (6.,6.,6.)时,我会按预期得到x.grad。但是,当我尝试tensor([6., 6., 6.])y.grad时,得到的是z.grad,而不是Nonetensor([3., 3., 3.])。为什么会这样?

0 个答案:

没有答案