37 lines
1.4 KiB
ReStructuredText
37 lines
1.4 KiB
ReStructuredText
mindspore.nn.LossBase
|
||
======================
|
||
|
||
.. 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], 可选) - 权重。当 `weights` 为Tensor时,其rank必须为0或与输入相同,并且必须可广播到输入(即,所有维度必须为 `1` ,或与相应输入的维度相同)。默认值: ``1.0``。
|
||
|
||
返回:
|
||
返回加权损失。
|