mindspore.nn.LossBase ====================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/nn/mindspore.nn.LossBase.rst :alt: 查看源文件 .. py:class:: mindspore.nn.LossBase(reduction='mean') 损失函数的基类。 自定义损失函数时应重写 `construct` ,并使用方法 `self.get_loss` 将 `reduction` 应用于loss计算。 参数: - **reduction** (str,可选) - 指定应用于输出结果的规约计算方式,可选 ``'none'`` 、 ``'mean'`` 、 ``'sum'`` ,默认值: ``'mean'`` 。 - ``"none"``:不应用规约方法。 - ``"mean"``:计算输出元素的(加权)平均值。 - ``"sum"``:计算输出元素的总和。 异常: - **ValueError** - `reduction` 不为 ``'none'`` 、 ``'mean'`` 或 ``'sum'`` 。 .. py:method:: get_axis(x) 获取输入的轴范围。 参数: - **x** (Tensor) - 任何shape的Tensor。 .. py:method:: get_loss(x, weights=1.0) 计算加权损失。 参数: - **x** (Tensor) - shape为 :math:`(N, *)` 的输入Tensor,其中 :math:`*` 表示任意数量的附加维度。 - **weights** (Union[float, Tensor]) - 可选值,要么rank为0,要么rank与输入相同,并且必须可广播到输入(即,所有维度必须为 `1` ,或与相应输入的维度相同)。默认值: ``1.0``。 返回: 返回加权损失。