Calcule la perte d'entropie croisée entre les étiquettes réelles et les étiquettes prédites.
Utilisez cette perte d'entropie croisée lorsqu'il n'y a que deux classes d'étiquettes (supposées être 0 et 1). Pour chaque exemple, il doit y avoir une seule valeur à virgule flottante par prédiction.
Utilisation autonome :
Operand<TFloat32> labels = tf.constant(new float[][] { {0.f, 1.f}, {0.f, 0.f} }); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} }); BinaryCrossentropy bce = new BinaryCrossentropy(tf); Operand<TFloat32> result = bce.call(labels, predictions); // produces 0.815
Appel avec le poids de l'échantillon :
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = bce.call(labels, predictions, sampleWeight); // produces 0.458f
Utilisation du type de réduction SUM
:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = bce.call(labels, predictions); // produces 1.630f
Utilisation du type de réduction NONE
:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = bce.call(labels, predictions); // produces [0.916f, 0.714f]
Constantes
booléen | FROM_LOGITS_DEFAULT | |
flotter | LABEL_SMOOTHING_DEFAULT |
Champs hérités
Constructeurs Publics
BinaryCrossentropie (Ops tf) Crée une perte d'entropie croisée binaire en utilisant getSimpleName() comme nom de perte, FROM_LOGITS_DEFAULT pour fromLogits, LABEL_SMOOTHING_DEFAULT pour labelSmoothing et une réduction de perte de REDUCTION_DEFAULT | |
BinaryCrossentropy (Ops tf, réduction de réduction ) Crée une perte de crossentropie binaire en utilisant getSimpleName() comme nom de perte, FROM_LOGITS_DEFAULT pour fromLogits et LABEL_SMOOTHING_DEFAULT pour labelSmoothing | |
BinaryCrossentropy (Ops tf, booléen fromLogits) Crée une perte de crossentropie binaire en utilisant getSimpleName() comme nom de perte, labelSmoothing de LABEL_SMOOTHING_DEFAULT , une réduction de REDUCTION_DEFAULT , | |
BinaryCrossentropy (Ops tf, nom de chaîne, booléen fromLogits) Crée une perte de crossentropie binaire en utilisant labelSmoothing de LABEL_SMOOTHING_DEFAULT une réduction de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing) Crée une perte binaire de crossentropie en utilisant getSimpleName() comme nom de perte et une réduction de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing) Crée une perte de crossentropie binaire en utilisant une réduction de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing, Reduction réduction) Crée une perte de crossentropie binaire | |
BinaryCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing, réduction de réduction ) Crée une perte de crossentropie binaire |
Méthodes publiques
<T étend TNumber > Opérande <T> |
Méthodes héritées
Constantes
public statique final booléen FROM_LOGITS_DEFAULT
public statique final float LABEL_SMOOTHING_DEFAULT
Constructeurs Publics
public BinaryCrossentropy (Ops tf)
Crée une perte d'entropie croisée binaire en utilisant getSimpleName()
comme nom de perte, FROM_LOGITS_DEFAULT
pour fromLogits, LABEL_SMOOTHING_DEFAULT
pour labelSmoothing et une réduction de perte de REDUCTION_DEFAULT
Paramètres
tf | les opérations TensorFlow |
---|
public BinaryCrossentropy (Ops tf, réduction de réduction )
Crée une perte de crossentropie binaire en utilisant getSimpleName()
comme nom de perte, FROM_LOGITS_DEFAULT
pour fromLogits et LABEL_SMOOTHING_DEFAULT
pour labelSmoothing
Paramètres
tf | les opérations TensorFlow |
---|---|
réduction | Type de réduction à appliquer sur le sinistre. |
public BinaryCrossentropy (Ops tf, booléen fromLogits)
Crée une perte de crossentropie binaire en utilisant getSimpleName()
comme nom de perte, labelSmoothing de LABEL_SMOOTHING_DEFAULT
, une réduction de REDUCTION_DEFAULT
,
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
public BinaryCrossentropy (Ops tf, nom de chaîne, booléen fromLogits)
Crée une perte de crossentropie binaire en utilisant labelSmoothing de LABEL_SMOOTHING_DEFAULT
une réduction de REDUCTION_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
public BinaryCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing)
Crée une perte binaire de crossentropie en utilisant getSimpleName()
comme nom de perte et une réduction de REDUCTION_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Un nombre compris dans la plage [0, 1]. Lorsque 0, aucun lissage ne se produit. Lorsque > 0, calculez la perte entre les étiquettes prédites et une version lissée des véritables étiquettes, où le lissage réduit les étiquettes vers 0,5. Des valeurs plus élevées de labelSmoothing correspondent à un lissage plus important. |
public BinaryCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing)
Crée une perte de crossentropie binaire en utilisant une réduction de REDUCTION_DEFAULT
.
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Un nombre compris dans la plage [0, 1]. Lorsque 0, aucun lissage ne se produit. Lorsque > 0, calculez la perte entre les étiquettes prédites et une version lissée des véritables étiquettes, où le lissage réduit les étiquettes vers 0,5. Des valeurs plus élevées de labelSmoothing correspondent à un lissage plus important. |
public BinaryCrossentropy (Ops tf, booléen fromLogits, float labelSmoothing, Reduction réduction)
Crée une perte de crossentropie binaire
Paramètres
tf | les opérations TensorFlow |
---|---|
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Un nombre compris dans la plage [0, 1]. Lorsque 0, aucun lissage ne se produit. Lorsque > 0, calculez la perte entre les étiquettes prédites et une version lissée des véritables étiquettes, où le lissage réduit les étiquettes vers 0,5. Des valeurs plus élevées de labelSmoothing correspondent à un lissage plus important. |
réduction | Type de réduction à appliquer sur le sinistre. |
public BinaryCrossentropy (Ops tf, nom de chaîne, booléen fromLogits, float labelSmoothing, réduction de réduction )
Crée une perte de crossentropie binaire
Paramètres
tf | les opérations TensorFlow |
---|---|
nom | le nom de la perte |
deLogits | S'il faut interpréter les prédictions comme un tenseur de valeurs logit |
labelLissage | Un nombre compris dans la plage [0, 1]. Lorsque 0, aucun lissage ne se produit. Lorsque > 0, calculez la perte entre les étiquettes prédites et une version lissée des véritables étiquettes, où le lissage réduit les étiquettes vers 0,5. Des valeurs plus élevées de labelSmoothing correspondent à un lissage plus important. |
réduction | Type de réduction à appliquer sur le sinistre. |
Jetés
IllegalArgumentException | si labelSmoothing n'est pas dans la plage inclusive de 0. - 1. |
---|
Méthodes publiques
Appel de l'opérande public <T> ( opérande <? extends TNumber > labels, prédictions de l'opérande <T>, 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.) |
Retours
- la perte
Jetés
IllegalArgumentException | si les prédictions sont en dehors de la plage [0.-1.]. |
---|