BinaryCrossentropy

classe publique BinaryCrossentropy

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>
appel ( Opérande <? étend TNumber > étiquettes, Opérande <T> prédictions, Opérande <T> sampleWeights)
Génère un opérande qui calcule la perte.

Méthodes héritées

Constantes

public statique final booléen FROM_LOGITS_DEFAULT

Valeur constante : faux

public statique final float LABEL_SMOOTHING_DEFAULT

Valeur constante : 0,0

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.].