# tf.keras.metrics.categorical_focal_crossentropy

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.14.0/keras/losses.py#L2265-L2348) |

Computes the categorical focal crossentropy loss.

#### View aliases


**Main aliases**

[`tf.keras.losses.categorical_focal_crossentropy`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/categorical_focal_crossentropy), [`tf.losses.categorical_focal_crossentropy`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/categorical_focal_crossentropy), [`tf.metrics.categorical_focal_crossentropy`](https://www.tensorflow.org/api_docs/python/tf/keras/metrics/categorical_focal_crossentropy)

<br />

    tf.keras.metrics.categorical_focal_crossentropy(
        y_true,
        y_pred,
        alpha=0.25,
        gamma=2.0,
        from_logits=False,
        label_smoothing=0.0,
        axis=-1
    )

#### Standalone usage:

    y_true = [[0, 1, 0], [0, 0, 1]]
    y_pred = [[0.05, 0.9, 0.05], [0.1, 0.85, 0.05]]
    loss = tf.keras.losses.categorical_focal_crossentropy(y_true, y_pred)
    assert loss.shape == (2,)
    loss.numpy()
    array([2.63401289e-04, 6.75912094e-01], dtype=float32)

<br />

<br />

<br />

| ## Args ||
|---|---|
| `y_true` | Tensor of one-hot true targets. |
| `y_pred` | Tensor of predicted targets. |
| `alpha` | A weight balancing factor for all classes, default is `0.25` as mentioned in the reference. It can be a list of floats or a scalar. In the multi-class case, alpha may be set by inverse class frequency by using `compute_class_weight` from `sklearn.utils`. |
| `gamma` | A focusing parameter, default is `2.0` as mentioned in the reference. It helps to gradually reduce the importance given to simple examples in a smooth manner. When `gamma` = 0, there is no focal effect on the categorical crossentropy. |
| `from_logits` | Whether `y_pred` is expected to be a logits tensor. By default, we assume that `y_pred` encodes a probability distribution. |
| `label_smoothing` | Float in \[0, 1\]. If \> `0` then smooth the labels. For example, if `0.1`, use `0.1 / num_classes` for non-target labels and `0.9 + 0.1 / num_classes` for target labels. |
| `axis` | Defaults to -1. The dimension along which the entropy is computed. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| Categorical focal crossentropy loss value. ||

<br />