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 教程。