torch.autograd.forward_ad.unpack_dual¶
- torch.autograd.forward_ad.unpack_dual(tensor, *, level=None)[source][source]¶
解包“雙張量”以獲取其張量值和前向 AD 梯度。
結果是一個命名元組
(primal, tangent),其中primal是tensor的原始值(primal)的檢視,而tangent是tensor的切向量(tangent)本身。這兩個張量都不能是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 的詳細步驟。