mindspore.ops.SigmoidCrossEntropyWithLogits
- class mindspore.ops.SigmoidCrossEntropyWithLogits[源代码]
计算预测值与真实值之间的sigmoid交叉熵。
首先计算相互独立的离散分类任务中的分布误差,再计算各个类的交叉熵损失。
将输入 logits 设置为
,输入 label 为 ,输出为 。然后,- 输入:
logits (Tensor) - 预测值,任意维度的Tensor,其shape为
,其中 为任意数量的额外维度。数据类型必须为float16或float32。label (Tensor) - 真实值,shape和数据类型与 logits 的相同。
- 输出:
Tensor,shape和数据类型与输入 logits 相同。
- 异常:
TypeError - logits 或 label 不是Tensor。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor, ops >>> logits = Tensor(np.array([[-0.8, 1.2, 0.7], [-0.1, -0.4, 0.7]]).astype(np.float32)) >>> labels = Tensor(np.array([[0.3, 0.8, 1.2], [-0.6, 0.1, 2.2]]).astype(np.float32)) >>> sigmoid = ops.SigmoidCrossEntropyWithLogits() >>> output = sigmoid(logits, labels) >>> print(output) [[ 0.6111007 0.5032824 0.26318604] [ 0.58439666 0.5530153 -0.4368139 ]]