KLDivergence

classe publique KLDivergence

Calcule la perte de divergence Kullback-Leibler entre les étiquettes et les prédictions.

loss = labels * log(labels / predictions)

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} });
    KLDivergence kld = new KLDivergence(tf);
    Operand<TFloat32> result = kld.call(labels, predictions);
    // produces 0.458
 

Appel avec le poids de l'échantillon :

    Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.8f, 0.2f});
    Operand<TFloat32> result = kld.call(labels, predictions, sampleWeight);
    // produces 0.366f
 

Utilisation du type de réduction SUM :

    KLDivergence kld = new KLDivergence(tf, Reduction.SUM);
    Operand<TFloat32> result = kld.call(labels, predictions);
    // produces 0.916f
 

Utilisation du type de réduction NONE :

    KLDivergence kld = new KLDivergence(tf, Reduction.NONE);
    Operand<TFloat32> result = kld.call(labels, predictions);
    // produces [0.916f, -3.08e-06f]
 

Champs hérités

Constructeurs Publics

KLDivergence (Ops tf)
Crée une perte de divergence Kullback Leibler en utilisant getSimpleName() comme nom de perte et une réduction de perte de REDUCTION_DEFAULT
KLDivergence (Ops tf, Réduction réduction)
Crée une perte de perte de divergence Kullback Leibler en utilisant getSimpleName() comme nom de perte
KLDivergence (Ops tf, nom de chaîne, réduction de réduction )
Crée une perte de divergence Kullback Leibler

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

Constructeurs Publics

KLDivergence publique (Ops tf)

Crée une perte de divergence Kullback Leibler en utilisant getSimpleName() comme nom de perte et une réduction de perte de REDUCTION_DEFAULT

Paramètres
tf les opérations TensorFlow

KLDivergence publique (Ops tf, Réduction réduction)

Crée une perte de perte de divergence Kullback Leibler en utilisant getSimpleName() comme nom de perte

Paramètres
tf les opérations TensorFlow
réduction Type de réduction à appliquer sur le sinistre.

public KLDivergence (Ops tf, nom de chaîne, réduction de réduction )

Crée une perte de divergence Kullback Leibler

Paramètres
tf les opérations TensorFlow
nom le nom de la perte
réduction Type de réduction à appliquer sur le sinistre.

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.

Paramètres
étiquettes les valeurs ou étiquettes de vérité
prédictions les prédictions
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