jax.jvp#

jax.jvp(fun, primals, tangents, has_aux=False)[来源]#

计算 fun 的(正向模式)雅可比向量积。

参数:
  • fun (可调用对象) – 要进行微分的函数。其参数应为数组、标量或数组/标量的标准 Python 容器。它应返回一个数组、标量或数组/标量的标准 Python 容器。

  • primals – 用于评估 fun 的雅可比矩阵的原始值。应为参数的元组或列表,其长度应等于 fun 的位置参数数量。

  • tangents – 用于评估雅可比向量积的切向量。应为切向量的元组或列表,其树形结构和数组形状与 primals 相同。

  • has_aux (布尔值) – 可选,布尔值。指示 fun 是否返回一个对,其中第一个元素被视为要微分的数学函数的输出,第二个元素是辅助数据。默认为 False。

返回:

如果 has_auxFalse,则返回一个 (primals_out, tangents_out) 对,其中 primals_outfun(*primals)tangents_out 是在 primals 处用 tangents 评估的 function 的雅可比向量积。tangents_out 具有与 primals_out 相同的 Python 树形结构和形状。如果 has_auxTrue,则返回一个 (primals_out, tangents_out, aux) 元组,其中 auxfun 返回的辅助数据。

返回类型:

元组[任意类型, …]

例如

>>> import jax
>>>
>>> primals, tangents = jax.jvp(jax.numpy.sin, (0.1,), (0.2,))
>>> print(primals)
0.09983342
>>> print(tangents)
0.19900084