Computes the sparse categorical crossentropy loss.
tf.keras.metrics.sparse_categorical_crossentropy(
y_true, y_pred, from_logits=False, axis=-1, ignore_class=None
)
Standalone usage:
y_true = [1, 2]
y_pred = [[0.05, 0.95, 0], [0.1, 0.8, 0.1]]
loss = tf.keras.losses.sparse_categorical_crossentropy(y_true, y_pred)
assert loss.shape == (2,)
loss.numpy()
array([0.0513, 2.303], dtype=float32)
y_true = [[[ 0, 2],
[-1, -1]],
[[ 0, 2],
[-1, -1]]]
y_pred = [[[[1.0, 0.0, 0.0], [0.0, 0.0, 1.0]],
[[0.2, 0.5, 0.3], [0.0, 1.0, 0.0]]],
[[[1.0, 0.0, 0.0], [0.0, 0.5, 0.5]],
[[0.2, 0.5, 0.3], [0.0, 1.0, 0.0]]]]
loss = tf.keras.losses.sparse_categorical_crossentropy(
y_true, y_pred, ignore_class=-1)
loss.numpy()
array([[[2.3841855e-07, 2.3841855e-07],
[0.0000000e+00, 0.0000000e+00]],
[[2.3841855e-07, 6.9314730e-01],
[0.0000000e+00, 0.0000000e+00]]], dtype=float32)
Args |
y_true
|
Ground truth values.
|
y_pred
|
The predicted values.
|
from_logits
|
Whether y_pred is expected to be a logits tensor. By
default, we assume that y_pred encodes a probability distribution.
|
axis
|
Defaults to -1. The dimension along which the entropy is
computed.
|
ignore_class
|
Optional integer. The ID of a class to be ignored during
loss computation. This is useful, for example, in segmentation
problems featuring a "void" class (commonly -1 or 255) in segmentation
maps. By default (ignore_class=None ), all classes are considered.
|
Returns |
Sparse categorical crossentropy loss value.
|