torch.autograd.forward_ad.unpack_dual

torch.autograd.forward_ad.unpack_dual(tensor, *, level=None)[源代码]

解开“双张量”,以便同时获得其 Tensor 值和正向自动微分的梯度。

结果是一个元组 (primal, tangent),其中 primaltensor 的原始视图,而 tangent 则是 tensor 的切线张量。这两个张量都不能是级别为 level 的双曲张量。

为了使句子更自然和易于理解:

结果是一个元组 (primal, tangent),其中 primaltensor 的原始视图,而 tangent 则是 tensor 的切线张量。这两个张量都不能达到级别为 level 的双曲张量。

此函数可以进行反向微分。

示例:

>>> with dual_level():
...     inp = make_dual(x, x_t)
...     out = f(inp)
...     y, jvp = unpack_dual(out)
...     jvp = unpack_dual(out).tangent

请参阅前向模式AD教程,以了解如何使用此API的详细步骤。

本页目录