Google I/O returns May 18-20! Reserve space and build your schedule Register now


Scales per-example losses with sample_weights and computes their average.

Used in the notebooks

Used in the guide Used in the tutorials

Usage with distribution strategy and custom training loop:

with strategy.scope():
  def compute_loss(labels, predictions, sample_weight=None):

    # If you are using a `Loss` class instead, set reduction to `NONE` so that
    # we can do the reduction afterwards and divide by global batch size.
    per_example_loss = tf.keras.losses.sparse_categorical_crossentropy(
        labels, predictions)

    # Compute loss that is scaled by sample_weight and by global batch size.
    return tf.nn.compute_average_loss(

per_example_loss Per-example loss.
sample_weight Optional weighting for each example.
global_batch_size Optional global batch size value. Defaults to (size of first dimension of losses) * (number of replicas).

Scalar loss value.