代码拉取完成,页面将自动刷新
.. py:function:: mindspore.jacrev(fn, grad_position=0, has_aux=False) 通过反向模式计算给定网络的Jacobian矩阵,对应 `反向模式自动微分 <https://www.mindspore.cn/docs/zh-CN/master/design/programming_paradigm.html#反向自动微分>`_。当网络输出数量远小于输入数量时,使用反向模式求Jacobian矩阵比前向模式性能更好。 参数: - **fn** (Union[Cell, Function]) - 待求导的函数或网络。以Tensor为入参,返回Tensor或Tensor数组。 - **grad_position** (Union[int, tuple[int]], 可选) - 指定求导输入位置的索引。若为int类型,表示对单个输入求导;若为tuple类型,表示对tuple内索引的位置求导,其中索引从0开始。默认值: ``0`` 。 - **has_aux** (bool, 可选) - 若 `has_aux` 为 ``True`` ,只有 `fn` 的第一个输出参与 `fn` 的求导,其他输出将直接返回。此时, `fn` 的输出数量必须超过一个。默认值: ``False`` 。 返回: Function,用于计算给定函数的Jacobian矩阵。例如 `out1, out2 = fn(*args)` ,若 `has_aux` 为 ``True`` ,梯度函数将返回 `(Jacobian, out2)` 形式的结果,其中 `out2` 不参与求导,若为 ``False`` ,将直接返回 `Jacobian` 。 异常: - **TypeError** - `grad_position` 或 `has_aux` 类型不符合要求。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。