tf.keras.metrics.SparseTopKCategoricalAccuracy

Computes how often integer targets are in the top K predictions.

Inherits From: MeanMetricWrapper, Mean, Metric

By default, the arguments expected by update_state() are:

  • y_true: a tensor of shape (batch_size) representing indices of true categories.
  • y_pred: a tensor of shape (batch_size, num_categories) containing the scores for each sample for all possible categories.

With from_sorted_ids=True, the arguments expected by update_state are:

  • y_true: a tensor of shape (batch_size) representing indices or IDs of true categories.
  • y_pred: a tensor of shape (batch_size, N) containing the indices or IDs of the top N categories sorted in order from highest score to lowest score. N must be greater or equal to k.

The from_sorted_ids=True option can be more efficient when the set of categories is very large and the model has an optimized way to retrieve the top ones either without scoring or without maintaining the scores for all the possible categories.

k (Optional) Number of top elements to look at for computing accuracy. Defaults to 5.
name (Optional) string name of the metric instance.
dtype (Optional) data type of the metric result.
from_sorted_ids (Optional) When False, the default, the tensor passed in y_pred contains the unsorted scores of all possible categories. When True, y_pred contains a the indices or IDs for the top categories.

Example:

m = keras.metrics.SparseTopKCategoricalAccuracy(k=1)
m.update_state([2, 1], [[0.1, 0.9, 0.8], [0.05, 0.95, 0]])
m.result()
0.5
m.reset_state()
m.update_state([2, 1], [[0.1, 0.9, 0.8], [0.05, 0.95, 0]],
               sample_weight=[0.7, 0.3])
m.result()
0.3
m = keras.metrics.SparseTopKCategoricalAccuracy(k=1,
                                               from_sorted_ids=True)
m.update_state([2, 1], [[1, 0, 3], [1, 2, 3]])
m.result()
0.5

Usage with compile() API:

model.compile(optimizer='sgd',
              loss='sparse_categorical_crossentropy',
              metrics=[keras.metrics.SparseTopKCategoricalAccuracy()])

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.