# tf.keras.metrics.Accuracy

<br />

|---|---|
| [![](https://www.tensorflow.org/images/tf_logo_32px.png) TensorFlow 1 version](https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/metrics/Accuracy) | [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/python/keras/metrics.py#L594-L626) |

Calculates how often predictions matches labels.

#### View aliases


**Main aliases**

[`tf.metrics.Accuracy`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/Accuracy)
**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.keras.metrics.Accuracy`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/Accuracy)

<br />

    tf.keras.metrics.Accuracy(
        name='accuracy', dtype=None
    )

For example, if `y_true` is \[1, 2, 3, 4\] and `y_pred` is \[0, 2, 3, 4\]
then the accuracy is 3/4 or .75. If the weights were specified as
\[1, 1, 0, 0\] then the accuracy would be 1/2 or .5.

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 `binary 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.

#### Usage:

    m = tf.keras.metrics.Accuracy()
    m.update_state([1, 2, 3, 4], [0, 2, 3, 4])
    print('Final result: ', m.result().numpy())  # Final result: 0.75

Usage with tf.keras API:

    model = tf.keras.Model(inputs, outputs)
    model.compile('sgd', loss='mse', metrics=[tf.keras.metrics.Accuracy()])

<br />

<br />

<br />

| ## 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`. |

<br />

## Methods

### `reset_states`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/python/keras/metrics.py#L203-L209)

    reset_states()

Resets all of the metric state variables.

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

### `result`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/python/keras/metrics.py#L361-L371)

    result()

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`

[View source](https://github.com/tensorflow/tensorflow/blob/v2.0.0/tensorflow/python/keras/metrics.py#L558-L583)

    update_state(
        y_true, y_pred, sample_weight=None
    )

Accumulates metric statistics.

`y_true` and `y_pred` should have the same shape.

<br />

<br />

<br />

| 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`. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| Update op. ||

<br />