Binary Cross Entropy loss is used when there are only two label classes, for example in cats and dogs image
classification there are only two classes i.e cat or dog, in this case Binary Cross Entropy loss can be used.
`tf.keras`

api provides implementation of `BinaryCrossEntropy`

, lets understand this with below code snippet.

Create two examples for actual values and predicted values

```
import tensorflow as tf
actual_values = [[0, 1, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0]]
predicted_values = [[.5, .7, .2, .3, .5, .6],[.5, .7, .7, .2, .5, .6], [.5, .7, .2, .8, .2, .1] ]
```

`actual_values`

comprises of three batch of actual labels, `predicted_values`

are batches of corresponding
predicted values.

Instantiate `BinaryCrossEntropy`

object and compute cross-entropy loss

```
binary_cross_entropy = tf.keras.losses.BinaryCrossentropy()
loss = binary_cross_entropy(actual_values, predicted_values).numpy()
print(loss)
```

**Output**

```
0.53984624
```

**Complete Code**

```
import tensorflow as tf
actual_values = [[0, 1, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0]]
predicted_values = [[.5, .7, .2, .3, .5, .6],[.5, .7, .2, .3, .5, .6], [.5, .7, .2, .3, .5, .6] ]
binary_cross_entropy = tf.keras.losses.BinaryCrossentropy()
print(binary_cross_entropy)
loss = binary_cross_entropy(actual_values, predicted_values).numpy()
print(loss)
```

Similar Articles