評價此頁

torch.autograd.forward_ad.unpack_dual#

torch.autograd.forward_ad.unpack_dual(tensor, *, level=None)[原始碼]#

解包一個“雙重張量”以同時獲取其張量值和前向 AD 梯度。

結果是一個命名元組 (primal, tangent),其中 primaltensor 的原始值的檢視,而 tangenttensor 的切向值本身。這兩個張量都不是 level 級別的雙重張量。

此函式是向後可微的。

示例

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

有關如何使用此 API 的詳細步驟,請參閱前向模式 AD 教程