Watch keynotes, product sessions, workshops, and more from Google I/O

# tf.keras.metrics.BinaryAccuracy

Calculates how often predictions match binary labels.

Inherits From: `Mean`, `Metric`, `Layer`, `Module`

### Used in the notebooks

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.

`name` (Optional) string name of the metric instance.
`dtype` (Optional) data type of the metric result.
`threshold` (Optional) Float representing the threshold for deciding whether prediction values are 1 or 0.

#### Standalone usage:

````m = tf.keras.metrics.BinaryAccuracy()`
`m.update_state([[1], [1], [0], [0]], [[0.98], [1], [0], [0.6]])`
`m.result().numpy()`
`0.75`
```
````m.reset_state()`
`m.update_state([[1], [1], [0], [0]], [[0.98], [1], [0], [0.6]],`
`               sample_weight=[1, 0, 0, 1])`
`m.result().numpy()`
`0.5`
```

Usage with `compile()` API:

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

## Methods

### `reset_state`

View source

Resets all of the metric state variables.

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

### `result`

View source

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

Accumulates metric statistics.

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

Args
`y_true` Ground truth values. shape = `[batch_size, d0, .. dN]`.
`y_pred` The predicted values. shape = `[batch_size, d0, .. dN]`.
`sample_weight` Optional `sample_weight` acts as a coefficient for the metric. If a scalar is provided, then the metric is simply scaled by the given value. If `sample_weight` is a tensor of size `[batch_size]`, then the metric for each sample of the batch is rescaled by the corresponding element in the `sample_weight` vector. If the shape of `sample_weight` is `[batch_size, d0, .. dN-1]` (or can be broadcasted to this shape), then each metric element of `y_pred` is scaled by the corresponding value of `sample_weight`. (Note on `dN-1`: all metric functions reduce by 1 dimension, usually the last axis (-1)).

Returns
Update op.