|
- mindspore.ops.SoftmaxCrossEntropyWithLogits
- ============================================
-
- .. py:class:: mindspore.ops.SoftmaxCrossEntropyWithLogits
-
- 使用one-hot编码获取预测值和真实之间的softmax交叉熵。
-
- SoftmaxCrossEntropyWithLogits算法的更新公式如下:
-
- .. math::
- \begin{array}{ll} \\
- p_{ij} = softmax(X_{ij}) = \frac{\exp(x_i)}{\sum_{j = 0}^{N-1}\exp(x_j)} \\
- loss_{ij} = -\sum_j{Y_{ij} * ln(p_{ij})}
- \end{array}
-
- 其中 :math:`X` 代表 `logits` 。 :math:`Y` 代表 `label` 。 :math:`loss` 代表 `output` 。
-
- **输入:**
-
- - **logits** (Tensor) - 输入预测值,其shape为 :math:`(N, C)` ,数据类型为float16或float32。
- - **labels** (Tensor) - 输入真实值,其shape为 :math:`(N, C)` ,数据类型与 `logits` 的相同。
-
- **输出:**
-
- 两个Tensor(loss, dlogits)组成的tuple, `loss` 的shape为 :math:`(N,)` , `dlogits` 的shape与 `logits` 的相同。
-
- **异常:**
-
- - **TypeError** - `logits` 或 `labels` 的数据类型既不是float16也不是float32。
- - **TypeError** - `logits` 或 `labels` 不是Tensor。
- - **ValueError** - `logits` 的shape与 `labels` 的不同。
-
|