Spec-Zone.ru › TensorFlow

tf.keras.losses.CategoricalCrossentropy

Computes the crossentropy loss between the labels and predictions.

Inherits From: Loss

tf.keras.losses.CategoricalCrossentropy(
    from_logits=False,
    label_smoothing=0.0,
    axis=-1,
    reduction='sum_over_batch_size',
    name='categorical_crossentropy'
)

Used in the notebooks

Used in the guide Used in the tutorials
  • Effective Tensorflow 2
  • Debug a TensorFlow 2 migrated training pipeline
  • Adversarial example using FGSM
  • Retraining an Image Classifier
  • Implement Differential Privacy with TensorFlow Privacy
  • Assess privacy risks with the TensorFlow Privacy Report
  • On-Device Training with TensorFlow Lite

Use this crossentropy loss function when there are two or more label classes. We expect labels to be provided in a one_hot representation. If you want to provide labels as integers, please use SparseCategoricalCrossentropy loss. There should be num_classes floating point values per feature, i.e., the shape of both y_pred and y_true are [batch_size, num_classes].

Args
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]. When > 0, label values are smoothed, meaning the confidence on label values are relaxed. 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 The axis along which to compute crossentropy (the features axis). Defaults to -1.
reduction Type of reduction to apply to the loss. In almost all cases this should be "sum_over_batch_size". Supported options are "sum", "sum_over_batch_size" or None.
name Optional name for the loss instance.

Examples:

Standalone usage:

y_true = [[0, 1, 0], [0, 0, 1]]
y_pred = [[0.05, 0.95, 0], [0.1, 0.8, 0.1]]
# Using 'auto'/'sum_over_batch_size' reduction type.
cce = keras.losses.CategoricalCrossentropy()
cce(y_true, y_pred)
1.177
# Calling with 'sample_weight'.
cce(y_true, y_pred, sample_weight=np.array([0.3, 0.7]))
0.814
# Using 'sum' reduction type.
cce = keras.losses.CategoricalCrossentropy(
    reduction="sum")
cce(y_true, y_pred)
2.354
# Using 'none' reduction type.
cce = keras.losses.CategoricalCrossentropy(
    reduction=None)
cce(y_true, y_pred)
array([0.0513, 2.303], dtype=float32)

Usage with the compile() API:

model.compile(optimizer='sgd',
              loss=keras.losses.CategoricalCrossentropy())

Methods

call

View source

call(
    y_true, y_pred
)

from_config

View source

@classmethod
from_config(
    config
)

get_config

View source

get_config()

__call__

View source

__call__(
    y_true, y_pred, sample_weight=None
)

Call self as a function.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/losses/CategoricalCrossentropy

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API