torch.autograd.forward_ad.unpack_dual¶
- torch.autograd.forward_ad.unpack_dual(tensor, *, level=None)[原始碼][原始碼]¶
解包一個「對偶張量 (dual tensor)」以取得其張量值 (Tensor value) 及其前向自動微分梯度 (forward AD gradient)。
結果是一個名為
(primal, tangent)
的 namedtuple,其中primal
是tensor
的 primal 的一個視圖 (view),而tangent
則是tensor
的 tangent,維持原樣。 這些張量都不能是層級 (level) 為level
的對偶張量。此函數是反向可微分的 (backward differentiable)。
範例
>>> with dual_level(): ... inp = make_dual(x, x_t) ... out = f(inp) ... y, jvp = unpack_dual(out) ... jvp = unpack_dual(out).tangent
請參閱前向模式 AD 教學 (forward-mode AD tutorial),以取得有關如何使用此 API 的詳細步驟。