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. Les étiquettes doivent être fournies sous forme d’entiers. Si vous souhaitez fournir des étiquettes en utilisant one-hot
, veuillez utiliser la perte CategoricalCrossentropy
. Il doit y avoir # classes
de valeurs à virgule flottante par fonctionnalité pour predictions
et une seule valeur à virgule flottante par fonctionnalité pour label
.
Dans l'extrait ci-dessous, il y a une seule valeur à virgule flottante par exemple pour labels
et # classes
de valeurs à virgule flottante par exemple pour predictions
. La forme des labels
est [batch_size]
et la forme des predictions
est [batch_size, num_classes]
.
Utilisation autonome :
Operand<TFloat32> labels = tf.constant(new float[] {1, 2}); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} }); SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces 1.177f
Appel avec le poids de l'échantillon :
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = sparseCCE.call(labels, predictions, sampleWeight); // produces 0.814f
Utilisation du type de réduction SUM
:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces 2.354f
Utilisation du type de réduction NONE
:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces [0.0513f, 2.303f]
Constantes
int | AXIS_DEFAULT | |
booléen | FROM_LOGITS_DEFAULT |
Champs hérités
Constructeurs Publics
SparseCategoricalCrossentropy (Ops tf) Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName() comme nom de perte, une réduction de perte de REDUCTION_DEFAULT et fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nom de chaîne) Crée une perte SparseCategoricalCrossentropy en utilisant une réduction de perte de REDUCTION_DEFAULT et fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, réduction ) Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName() comme nom de perte, avec Reduction.AUTO et fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nom de chaîne, réduction de réduction ) Crée une perte SparseCategoricalCrossentropy avec Reduction.AUTO et fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits) Crée un SparseCategoricalCrossentropy en utilisant une réduction de perte de REDUCTION_DEFAULT et fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, booléen fromLogits) Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName() comme nom de perte, une réduction de perte de REDUCTION_DEFAULT et fromLogits= FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, booléen fromLogits, réduction ) Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName() comme nom de perte, | |
SparseCategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, réduction , axe int) Crée une SparseCategoricalCrossentropy |
Méthodes publiques
<T étend TNumber > Opérande <T> |
Méthodes héritées
Constantes
public statique final int AXIS_DEFAULT
public statique final booléen FROM_LOGITS_DEFAULT
Constructeurs Publics
public SparseCategoricalCrossentropy (Ops tf)
Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName()
comme nom de perte, une réduction de perte de REDUCTION_DEFAULT
et fromLogits= FROM_LOGITS_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|
public SparseCategoricalCrossentropy (Ops tf, nom de chaîne)
Crée une perte SparseCategoricalCrossentropy en utilisant une réduction de perte de REDUCTION_DEFAULT
et fromLogits= FROM_LOGITS_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette fonction de perte |
public SparseCategoricalCrossentropy (Ops tf, réduction )
Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName()
comme nom de perte, avec Reduction.AUTO et fromLogits= FROM_LOGITS_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
réduction | Type de réduction à appliquer en cas de perte. |
public SparseCategoricalCrossentropy (Ops tf, nom de chaîne, réduction de réduction )
Crée une perte SparseCategoricalCrossentropy avec Reduction.AUTO et fromLogits= FROM_LOGITS_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette fonction de perte |
réduction | Type de réduction à appliquer en cas de perte. |
public SparseCategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits)
Crée un SparseCategoricalCrossentropy en utilisant une réduction de perte de REDUCTION_DEFAULT
et fromLogits= FROM_LOGITS_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette fonction de perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
public SparseCategoricalCrossentropy (Ops tf, booléen fromLogits)
Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName()
comme nom de perte, une réduction de perte de REDUCTION_DEFAULT
et fromLogits= FROM_LOGITS_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
public SparseCategoricalCrossentropy (Ops tf, booléen fromLogits, Reduction réduction)
Crée une perte SparseCategoricalCrossentropy en utilisant getSimpleName()
comme nom de perte,
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
réduction | Type de réduction à appliquer en cas de perte. |
public SparseCategoricalCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, réduction , axe int)
Crée une SparseCategoricalCrossentropy
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de cette fonction de perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
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 ». |
Méthodes publiques
appel public Operand <T> ( Operand <? extends TNumber > labels, Operand <T> prédictions, Operand <T> sampleWeights)
Génère un opérande et 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.]. |
---|