View source on GitHub |
Computes the binary focal crossentropy loss.
tf.keras.metrics.binary_focal_crossentropy(
y_true, y_pred, gamma=2.0, from_logits=False, label_smoothing=0.0, axis=-1
)
According to Lin et al., 2018, it helps to apply a focal factor to down-weight easy examples and focus more on hard examples. By default, the focal tensor is computed as follows:
focal_factor = (1 - output)**gamma
for class 1
focal_factor = output**gamma
for class 0
where gamma
is a focusing parameter. When gamma
= 0, this function is
equivalent to the binary crossentropy loss.
Standalone usage:
y_true = [[0, 1], [0, 0]]
y_pred = [[0.6, 0.4], [0.4, 0.6]]
loss = tf.keras.losses.binary_focal_crossentropy(y_true, y_pred, gamma=2)
assert loss.shape == (2,)
loss.numpy()
array([0.330, 0.206], dtype=float32)
Returns | |
---|---|
Binary focal crossentropy loss value. shape = [batch_size, d0, .. dN-1] .
|