torch.autograd.forward_ad.make_dual¶
- torch.autograd.forward_ad.make_dual(tensor, tangent, *, level=None)[源代码]¶
将张量值与其切线相关联,为前向 AD 梯度计算创建“双张量”。
结果是一个新的张量,它与
tensor
相同,并将tangent
作为属性嵌入,如果它具有相同的存储布局,则按原样嵌入,否则复制。可以使用unpack_dual()
恢复切线属性。此函数是反向可微的。
给定一个雅可比矩阵为 J 的函数 f,它允许人们计算 J 与给定向量 v 之间的雅可比矩阵-向量积 (jvp),如下所示。
示例
>>> with dual_level(): ... inp = make_dual(x, v) ... out = f(inp) ... y, jvp = unpack_dual(out)
有关如何使用此 API 的详细步骤,请参阅 前向模式 AD 教程。