# tf.contrib.eager.metrics.BinaryAccuracy

## Class BinaryAccuracy

Inherits From: Mean

Calculates how often predictions matches labels.

This class is compatible with tf.keras.losses.binary_crossentropy, tf.losses.sigmoid_cross_entropy, tf.nn.sigmoid_cross_entropy_with_logits. If there is more than one label, this will become multi-label classification.

#### Attributes:

• name: name of the accuracy object.
• threshold: Used for rounding off the predictions. If the predictions are, 1. probabilities then set the threshold to 0.5. 2. logits then set the threshold to 0. You can set the threshold appropriately, to trade off with precision and recall.
• dtype: data type of tensor.

## Methods

### __init__

__init__(
threshold,
name=None,
dtype=tf.double
)


Inits BinaryAccuracy with name, threshold and dtype.

### __call__

__call__(
*args,
**kwargs
)


Returns op to execute to update this metric for these inputs.

Returns None if eager execution is enabled. Returns a graph-mode function if graph execution is enabled.

#### Args:

• *args: * **kwargs: A mini-batch of inputs to the Metric, passed on to call().

### add_variable

add_variable(
name,
shape=None,
dtype=None,
initializer=None
)


Only for use by descendants of Metric.

### aggregate

aggregate(metrics)


Adds in the state from a list of metrics.

Default implementation sums all the metric variables.

#### Args:

• metrics: A list of metrics with the same type as self.

#### Raises:

• ValueError: If metrics contains invalid data.

### build

build(
*args,
**kwargs
)


### call

call(
labels,
predictions,
weights=None
)


Accumulate accuracy statistics.

labels and predictions should have the same shape and type.

#### Args:

• labels: Binary Tensor(containing 0 or 1).
• predictions: Tensor with probabilities or logits.
• weights: Optional weighting of each example. Defaults to 1.

#### Returns:

The arguments, for easy chaining.

### init_variables

init_variables()


Initializes this Metric's variables.

Should be called after variables are created in the first execution of __call__(). If using graph execution, the return value should be run() in a session before running the op returned by __call__(). (See example above.)

#### Returns:

If using graph execution, this returns an op to perform the initialization. Under eager execution, the variables are reset to their initial values as a side effect and this function returns None.

### result

result()


### value

value()


In graph mode returns the result Tensor while in eager the callable.