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)
请参阅 前向模式 AD 教程,了解有关如何使用此 API 的详细步骤。