tf.keras.losses.CategoricalCrossentropy

Class CategoricalCrossentropy

Defined in tensorflow/python/keras/losses.py.

Computes categorical cross entropy loss between the y_true and y_pred.

Usage:

cce = tf.keras.losses.CategoricalCrossentropy()
loss = cce(
  [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]],
  [[.9, .05, .05], [.5, .89, .6], [.05, .01, .94]])
print('Loss: ', loss.numpy())  # Loss: 0.3239

Usage with tf.keras API:

model = keras.models.Model(inputs, outputs)
model.compile('sgd', loss=tf.keras.losses.CategoricalCrossentropy())
````

#### Args:

* <b>`from_logits`</b>: Whether `output` is expected to be a logits tensor. By default,
    we consider that `output` encodes a probability distribution.
* <b>`label_smoothing`</b>: If greater than `0` then smooth the labels. This option is
    currently not supported when `y_pred` is a sparse input (not one-hot).
* <b>`reduction`</b>: Type of <a href="../../../tf/losses/Reduction"><code>tf.losses.Reduction</code></a> to apply to loss. Default value is
    `SUM_OVER_BATCH_SIZE`.
* <b>`name`</b>: Optional name for the op.

<h2 id="__init__"><code>__init__</code></h2>

``` python
__init__(
    from_logits=False,
    label_smoothing=0,
    reduction=losses_impl.ReductionV2.SUM_OVER_BATCH_SIZE,
    name=None
)

Initialize self. See help(type(self)) for accurate signature.

Methods

tf.keras.losses.CategoricalCrossentropy.__call__

__call__(
    y_true,
    y_pred,
    sample_weight=None
)

Invokes the Loss instance.

Args:

  • y_true: Ground truth values.
  • y_pred: The predicted values.
  • sample_weight: Optional Tensor whose rank is either 0, or the same rank as y_true, or is broadcastable to y_true. sample_weight acts as a coefficient for the loss. If a scalar is provided, then the loss is simply scaled by the given value. If sample_weight is a tensor of size [batch_size], then the total loss for each sample of the batch is rescaled by the corresponding element in the sample_weight vector. If the shape of sample_weight matches the shape of y_pred, then the loss of each measurable element of y_pred is scaled by the corresponding value of sample_weight.

Returns:

Weighted loss float Tensor. If reduction is NONE, this has the same shape as y_true; otherwise, it is scalar.

Raises:

  • ValueError: If the shape of sample_weight is invalid.

tf.keras.losses.CategoricalCrossentropy.call

call(
    y_true,
    y_pred
)

Invokes the CategoricalCrossentropy instance.

Args:

  • y_true: Ground truth values.
  • y_pred: The predicted values.

Returns:

Categorical cross entropy losses.

tf.keras.losses.CategoricalCrossentropy.from_config

from_config(
    cls,
    config
)

Instantiates a Loss from its config (output of get_config()).

Args:

  • config: Output of get_config().

Returns:

A Loss instance.

tf.keras.losses.CategoricalCrossentropy.get_config

get_config()