megengine.functional.nn.square_loss¶
- square_loss(pred, label, reduction='mean')[源代码]¶
计算预测值 \(x\) 和标签值 \(y\) 之间的均方误差(平方L2范数)。
均方误差可以表示为:
\[\ell(x, y) = mean\left( L \right)\]式中,
\[L = \{l_1,\dots,l_N\}, \quad l_n = \left( x_n - y_n \right)^2,\]\(x\) 和 \(y\) 是任意形状的张量,各张量包含 \(N\) 个元素。 \(N\) 是批(batch)大小。
- 参数
- 返回类型
- 返回
损失值。
- 形状:
pred : \((N, *)\) ,这里的 \(*\) 指任何附加的维度。
label: \((N, *)\). 与
pred
的形状相同
实际案例
import numpy as np import megengine as mge import megengine.functional as F ipt = mge.tensor(np.array([3, 3, 3, 3]).astype(np.float32)) tgt = mge.tensor(np.array([2, 8, 6, 1]).astype(np.float32)) loss = F.nn.square_loss(ipt, tgt) print(loss.numpy())
输出:
9.75