2.4K Star 8.2K Fork 4.4K

GVPMindSpore / mindspore

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
mindspore.nn.ForwardValueAndGrad.rst 1.68 KB
一键复制 编辑 原始数据 按行查看 历史
changzherui 提交于 2023-08-30 16:15 . add test fix some docs 0830

mindspore.nn.ForwardValueAndGrad

.. py:class:: mindspore.nn.ForwardValueAndGrad(network, weights=None, get_all=False, get_by_list=False, sens_param=False)

    训练网络的封装。

    包括正向网络和梯度函数。该类生成的Cell使用'\*inputs'输入来训练。
    通过梯度函数来创建反向图,用于计算梯度。

    参数:
        - **network** (Union[Cell, Function, MethodType]) - 训练网络。
        - **weights** (ParameterTuple) - 训练网络中需要计算梯度的参数。默认值: ``None`` 。
        - **get_all** (bool) - 如果为 ``True`` ,则计算网络输入对应的梯度。默认值: ``False`` 。
        - **get_by_list** (bool) - 如果为 ``True`` ,则计算参数变量对应的梯度。如果 `get_all` 和 `get_by_list` 都为 ``False`` ,则计算第一个输入对应的梯度。如果 `get_all` 和 `get_by_list` 都为True,则以((输入的梯度),(参数的梯度))的形式同时获取输入和参数变量的梯度。默认值: ``False`` 。
        - **sens_param** (bool) - 是否将sens作为输入。如果 `sens_param` 为False,则sens默认为'ones_like(outputs)'。默认值: ``False`` 。如果 `sens_param` 为 ``True`` ,则需要指定sens的值。

    输入:
        - **\*inputs** (Tuple(Tensor...)) - shape为 :math:`(N, \ldots)` 的输入tuple。
        - **sens** - 反向传播梯度的缩放值。如果网络有单个输出,则sens是tensor。如果网络有多个输出,则sens是tuple(tensor)。

    输出:
        - **forward value** - 网络运行的正向结果。
        - **gradients** (tuple(tensor)) - 网络反向传播的梯度。
Python
1
https://gitee.com/mindspore/mindspore.git
git@gitee.com:mindspore/mindspore.git
mindspore
mindspore
mindspore
r2.3

搜索帮助