| View source on GitHub |
Calculates how often predictions matches integer labels.
tf.keras.metrics.SparseCategoricalAccuracy(
name='sparse_categorical_accuracy', dtype=None
)
For example, if y_true is [[2], [1]] and y_pred is [[0.1, 0.9, 0.8], [0.05, 0.95, 0]] then the categorical accuracy is 1/2 or .5. If the weights were specified as [0.7, 0.3] then the categorical accuracy would be .3. You can provide logits of classes as y_pred, since argmax of logits and probabilities are same.
This metric creates two local variables, total and count that are used to compute the frequency with which y_pred matches y_true. This frequency is ultimately returned as sparse categorical accuracy: an idempotent operation that simply divides total by count.
If sample_weight is None, weights default to 1. Use sample_weight of 0 to mask values.
m = tf.keras.metrics.SparseCategoricalAccuracy()
m.update_state([[2], [1]], [[0.1, 0.9, 0.8], [0.05, 0.95, 0]])
print('Final result: ', m.result().numpy()) # Final result: 0.5
Usage with tf.keras API:
model = tf.keras.Model(inputs, outputs)
model.compile(
'sgd',
loss='mse',
metrics=[tf.keras.metrics.SparseCategoricalAccuracy()])
| Args | |
|---|---|
fn | The metric function to wrap, with signature fn(y_true, y_pred, **kwargs). |
name | (Optional) string name of the metric instance. |
dtype | (Optional) data type of the metric result. |
**kwargs | The keyword arguments that are passed on to fn. |
reset_statesreset_states()
Resets all of the metric state variables.
This function is called between epochs/steps, when a metric is evaluated during training.
resultresult()
Computes and returns the metric value tensor.
Result computation is an idempotent operation that simply calculates the metric value using the state variables.
update_state
update_state(
y_true, y_pred, sample_weight=None
)
Accumulates metric statistics.
y_true and y_pred should have the same shape.
| Args | |
|---|---|
y_true | The ground truth values. |
y_pred | The predicted values. |
sample_weight | Optional weighting of each example. Defaults to 1. Can be a Tensor whose rank is either 0, or the same rank as y_true, and must be broadcastable to y_true. |
| Returns | |
|---|---|
| Update op. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/metrics/SparseCategoricalAccuracy