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