Calcule la perte d'entropie croisée entre les étiquettes et les prédictions.
Utilisez cette fonction de perte d'entropie croisée lorsqu'il existe deux classes d'étiquettes ou plus. Nous nous attendons à ce que les étiquettes soient fournies dans une représentation one_hot. Si vous souhaitez fournir des étiquettes sous forme d'entiers, veuillez utiliser la perte SparseCategoricalCrossentropy
. Il devrait y avoir # classes
de valeurs à virgule flottante par fonctionnalité.
Utilisation autonome :
Operand<TFloat32> labels = tf.constant(new float[][] { {0, 1, 0}, {0, 0, 1} }); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} }); CategoricalCrossentropy cce = new CategoricalCrossentropy(tf); Operand<TFloat32> result = cce.call(labels, predictions); // produces 1.177
Appel avec le poids de l'échantillon :
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight); // produces 0.814f
Utilisation du type de réduction SUM
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = cce.call(labels, predictions); // produces 2.354f
Utilisation du type de réduction NONE
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = cce.call(labels, predictions); // produces [0.0513f, 2.303f]
Constantes
int | DEFAULT_AXIS | |
booléen | FROM_LOGITS_DEFAULT | |
flotter | LABEL_SMOOTHING_DEFAULT |
Champs hérités
Constructeurs Publics
CatégoriqueCrossentropie (Ops tf) Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName() comme nom de perte, FROM_LOGITS_DEFAULT pour fromLogits, LABEL_SMOOTHING_DEFAULT pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT et un axe de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nom de chaîne) Crée une perte d'entropie croisée catégorielle en utilisant FROM_LOGITS_DEFAULT pour fromLogits, LABEL_SMOOTHING_DEFAULT pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT et un axe de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, Réduction réduction) Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName() comme nom de perte, FROM_LOGITS_DEFAULT pour fromLogits, LABEL_SMOOTHING_DEFAULT pour labelSmoothing et un axe de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nom de chaîne, réduction de réduction ) Crée une perte d'entropie croisée catégorielle FROM_LOGITS_DEFAULT pour fromLogits, LABEL_SMOOTHING_DEFAULT pour labelSmoothing et un axe de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, booléen fromLogits) Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName() comme nom de perte, LABEL_SMOOTHING_DEFAULT pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT et un axe de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits) Crée une perte d'entropie croisée catégorielle en utilisant LABEL_SMOOTHING_DEFAULT pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT et un axe de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing) Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName() comme nom de perte, une réduction de perte de REDUCTION_DEFAULT et un axe de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing) Crée une perte d'entropie croisée catégorielle en utilisant une réduction de perte de REDUCTION_DEFAULT et un axe de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing, Reduction réduction) Crée une perte d'entropie croisée catégorique en utilisant getSimpleName() comme nom de perte et un axe de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing, Reduction réduction, int axis) Crée une perte d'entropie croisée catégorique |
Méthodes publiques
<T étend TNumber > Opérande <T> |
Méthodes héritées
Constantes
public statique final int DEFAULT_AXIS
public statique final booléen FROM_LOGITS_DEFAULT
public statique final float LABEL_SMOOTHING_DEFAULT
Constructeurs Publics
public CategoricalCrossentropy (Ops tf)
Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName()
comme nom de perte, FROM_LOGITS_DEFAULT
pour fromLogits, LABEL_SMOOTHING_DEFAULT
pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT
et un axe de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|
public CategoricalCrossentropy (Ops tf, nom de chaîne)
Crée une perte d'entropie croisée catégorielle en utilisant FROM_LOGITS_DEFAULT
pour fromLogits, LABEL_SMOOTHING_DEFAULT
pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT
et un axe de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette perte |
public CategoricalCrossentropy (Ops tf, Réduction réduction)
Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName()
comme nom de perte, FROM_LOGITS_DEFAULT
pour fromLogits, LABEL_SMOOTHING_DEFAULT
pour labelSmoothing et un axe de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
réduction | Type de réduction à appliquer en cas de perte. |
public CategoricalCrossentropy (Ops tf, nom de chaîne, réduction de réduction )
Crée une perte d'entropie croisée catégorielle FROM_LOGITS_DEFAULT
pour fromLogits, LABEL_SMOOTHING_DEFAULT
pour labelSmoothing et un axe de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette perte |
réduction | Type de réduction à appliquer en cas de perte. |
public CategoricalCrossentropy (Ops tf, booléen fromLogits)
Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName()
comme nom de perte, LABEL_SMOOTHING_DEFAULT
pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT
et un axe de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
public CategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits)
Crée une perte d'entropie croisée catégorielle en utilisant LABEL_SMOOTHING_DEFAULT
pour labelSmoothing, une réduction de perte de REDUCTION_DEFAULT
et un axe de canal de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
public CategoricalCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing)
Crée une perte d'entropie croisée catégorielle en utilisant getSimpleName()
comme nom de perte, une réduction de perte de REDUCTION_DEFAULT
et un axe de canal de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Flottez dans [0, 1] . Lorsque > 0 , les valeurs des étiquettes sont lissées, ce qui signifie que la confiance dans les valeurs des étiquettes est assouplie. par exemple labelSmoothing=0.2 signifie que nous utiliserons une valeur de 0.1 pour l'étiquette 0 et 0.9 pour l'étiquette 1 |
public CategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing)
Crée une perte d'entropie croisée catégorielle en utilisant une réduction de perte de REDUCTION_DEFAULT
et un axe de canal de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Flottez dans [0, 1] . Lorsque > 0 , les valeurs des étiquettes sont lissées, ce qui signifie que la confiance dans les valeurs des étiquettes est assouplie. par exemple labelSmoothing=0.2 signifie que nous utiliserons une valeur de 0.1 pour l'étiquette 0 et 0.9 pour l'étiquette 1 |
public CategoricalCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing, Reduction réduction)
Crée une perte d'entropie croisée catégorique en utilisant getSimpleName()
comme nom de perte et un axe de canal de DEFAULT_AXIS
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Flottez dans [0, 1] . Lorsque > 0 , les valeurs des étiquettes sont lissées, ce qui signifie que la confiance dans les valeurs des étiquettes est assouplie. par exemple, x=0.2 signifie que nous utiliserons une valeur de 0.1 pour l'étiquette 0 et 0.9 pour l'étiquette 1 |
réduction | Type de réduction à appliquer en cas de sinistre. |
public CategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing, Reduction réduction, int axis)
Crée une perte d'entropie croisée catégorique
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Flottez dans [0, 1] . Lorsque > 0 , les valeurs des étiquettes sont lissées, ce qui signifie que la confiance dans les valeurs des étiquettes est assouplie. par exemple labelSmoothing=0.2 signifie que nous utiliserons une valeur de 0.1 pour l'étiquette 0 et 0.9 pour l'étiquette 1 |
réduction | Type de réduction à appliquer en cas de sinistre. |
axe | L'axe des canaux. axis=-1 correspond au format de données « Channels Last » et axis=1 correspond au format de données « Channels First ». CHANNELS_LAST et CHANNELS_FIRST |
Jetés
Exception d'argument illégal | si labelSmoothing n'est pas dans la plage inclusive de 0. - 1. |
---|
Méthodes publiques
appel public Operand <T> ( Operand <? extends TNumber > labels, Operand <T> prédictions, Operand <T> sampleWeights)
Génère un opérande qui calcule la perte.
S'il est exécuté en mode graphique, le calcul lancera TFInvalidArgumentException
si les valeurs de prédiction sont en dehors de la plage o [0. à 1.]. En mode Eager, cet appel lancera IllegalArgumentException
, si les valeurs des prédictions sont en dehors de la plage o [0. à 1.]
Paramètres
Étiquettes | les valeurs ou étiquettes de vérité |
---|---|
prédictions | les prédictions, les valeurs doivent être comprises dans la plage [0. à 1.] inclus. |
exemples de poids | SampleWeights facultatif agit comme un coefficient pour la perte. Si un scalaire est fourni, alors la perte est simplement adaptée à la valeur donnée. Si SampleWeights est un tenseur de taille [batch_size], alors la perte totale pour chaque échantillon du lot est redimensionnée par l'élément correspondant dans le vecteur SampleWeights. Si la forme de SampleWeights est [batch_size, d0, .. dN-1] (ou peut être diffusée vers cette forme), alors chaque élément de perte de prédictions est mis à l'échelle par la valeur correspondante de SampleWeights. (Remarque sur dN-1 : toutes les fonctions de perte sont réduites d'une dimension, généralement axis=-1.) |
Retour
- la perte
Jetés
Exception d'argument illégal | si les prédictions sont en dehors de la plage [0.-1.]. |
---|