megengine.functional.nn.l1_loss

l1_loss(pred, label, reduction='mean')[源代码]

计算预测值 \(x\) 和标签值 \(y\) 的每个元素之间的平均绝对误差(MAE)。

平均绝对误差可以表示为:

\[\ell(x,y) = mean\left(L \right)\]

式中,

\[L = \{l_1,\dots,l_N\}, \quad l_n = \left| x_n - y_n \right|,\]

\(x\)\(y\) 是任意形状的张量,各张量包含 \(N\) 个元素。 \(N\) 是批(batch)大小。

参数
  • pred (Tensor) – 从模型中预测的结果。

  • label (Tensor) – 用于比较的真实值。

  • reduction (str) – 对输出应用的规约操作: ‘none’ | ‘mean’ | ‘sum’ 。

返回类型

Tensor

返回

损失值。

形状:
  • pred\((N, *)\) 其中 \(*\) 表示任意数量的额外维度。

  • label\((N, *)\) 。与 pred 形状相同。

实际案例

>>> pred = Tensor([3, 3, 3, 3])
>>> label = Tensor([2, 8, 6, 1])
>>> F.nn.l1_loss(pred, label)
Tensor(2.75, device=xpux:0)
>>> F.nn.l1_loss(pred, label, reduction="none")
Tensor([1 5 3 2], dtype=int32, device=xpux:0)
>>> F.nn.l1_loss(pred, label, reduction="sum")
Tensor(11, dtype=int32, device=xpux:0)