tf.keras.metrics.SparseCategoricalCrossentropy

Computes the crossentropy metric between the labels and predictions.

Inherits From: MeanMetricWrapper, Mean, Metric

Used in the notebooks

Used in the guide Used in the tutorials

Use this crossentropy metric when there are two or more label classes. It expects labels to be provided as integers. If you want to provide labels that are one-hot encoded, please use the CategoricalCrossentropy metric instead.

There should be num_classes floating point values per feature for y_pred and a single floating point value per feature for y_true.

name (Optional) string name of the metric instance.
dtype (Optional) data type of the metric result.
from_logits (Optional) Whether output is expected to be a logits tensor. By default, we consider that output encodes a probability distribution.
axis (Optional) Defaults to -1. The dimension along which entropy is computed.

Examples:

Standalone usage:

# y_true = one_hot(y_true) = [[0, 1, 0], [0, 0, 1]]
# logits = log(y_pred)
# softmax = exp(logits) / sum(exp(logits), axis=-1)
# softmax = [[0.05, 0.95, EPSILON], [0.1, 0.8, 0.1]]
# xent = -sum(y * log(softmax), 1)
# log(softmax) = [[-2.9957, -0.0513, -16.1181],
#                [-2.3026, -0.2231, -2.3026]]
# y_true * log(softmax) = [[0, -0.0513, 0], [0, 0, -2.3026]]
# xent = [0.0513, 2.3026]
# Reduced xent = (0.0513 + 2.3026) / 2
m = keras.metrics.SparseCategoricalCrossentropy()
m.update_state([1, 2],
               [[0.05, 0.95, 0], [0.1, 0.8, 0.1]])
m.result()
1.1769392
m.reset_state()
m.update_state([1, 2],
               [[0.05, 0.95, 0], [0.1, 0.8, 0.1]],
               sample_weight=np.array([0.3, 0.7]))
m.result()
1.6271976

Usage with compile() API:

model.compile(
    optimizer='sgd',
    loss='mse',
    metrics=[keras.metrics.SparseCategoricalCrossentropy()])

dtype

variables

Methods

add_variable

View source

add_weight

View source

from_config

View source

get_config

View source

Return the serializable config of the metric.

reset_state

View source

Reset all of the metric state variables.

This function is called between epochs/steps, when a metric is evaluated during training.

result

View source

Compute the current metric value.

Returns
A scalar tensor, or a dictionary of scalar tensors.

stateless_reset_state

View source

stateless_result

View source

stateless_update_state

View source

update_state

View source

Accumulate statistics for the metric.

__call__

View source

Call self as a function.