mindearth.core.RelativeRMSELoss
- class mindearth.core.RelativeRMSELoss(reduction='mean')[源代码]
相对均方根误差(RRMSE)是由均方根值归一化的均方根误差,其中每个残差都是根据实际值缩放的。 Relative RMSELoss用来测量
和 之间的相对均方根误差,其中 是预测值, 是目标值。为简单起见,令
和 为长度为 的一维Tensor, 和 的损失如下:- 参数:
reduction (str) - reduction 决定了计算模式。有三种模式可选:
"mean"
、"sum"
和"none"
。默认值:"mean"
。
- 输入:
prediction (Tensor) - 预测值,公式中的
,shape为 的Tensor, 代表任意数量的其他维度。labels (Tensor) - 样本的真实值,公式中的
。Tensor的shape 其中 表示任意维度,通常情况下和 prediction 的shape一致。但是,也支持 labels 的shape和 prediction 的shape不一致,两者需满足可相互广播。
- 输出:
Tensor,加权损失浮点数。
output (Tensor) - shape为
的Tensor。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> import mindspore >>> from mindspore import Tensor >>> from mindearth.core import RelativeRMSELoss >>> # Case: prediction.shape = labels.shape = (3, 3) >>> prediction = Tensor(np.array([[1, 2, 3],[1, 2, 3],[1, 2, 3]]), mindspore.float32) >>> labels = Tensor(np.array([[1, 2, 2],[1, 2, 3],[1, 2, 3]]), mindspore.float32) >>> loss_fn = RelativeRMSELoss() >>> loss = loss_fn(prediction, labels) >>> print(loss) 0.11111112