要backward
在 Pytorch 中执行,我们可以使用可选参数y.backward(v)
来计算 Jacobian 矩阵乘以v
:
x = torch.randn(3, requires_grad=True)
y = x * 2
v = torch.tensor([0.1, 1.0, 0.0001], dtype=torch.float)
y.backward(v)
print(x.grad)
我认为计算雅可比矩阵的成本相同,因为仍然计算 AD 图中计算雅可比矩阵所需的每个节点。那么为什么 Pytorch 不想给我们雅可比矩阵呢?