KLDivergence

classe pubblica KLDivergence

Calcola la perdita di divergenza di Kullback-Leibler tra etichette e previsioni.

loss = labels * log(labels / predictions)

Utilizzo autonomo:

    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
 

Chiamata con peso campione:

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

Utilizzando il tipo di riduzione SUM :

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

Utilizzando il tipo di riduzione NONE :

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

Campi ereditati

Costruttori pubblici

KLDivergence (Ops tf)
Crea una perdita di divergenza Kullback Leibler utilizzando getSimpleName() come nome della perdita e una riduzione della perdita di REDUCTION_DEFAULT
KLDivergence (Ops tf, Riduzione riduzione)
Crea una perdita Kullback Leibler Divergence Loss utilizzando getSimpleName() come nome della perdita
KLDivergence (Ops tf, Nome stringa, Riduzione riduzione)
Crea una perdita di divergenza di Kullback Leibler

Metodi pubblici

<T estende TNumero > Operando <T>
chiamata ( Operando <? estende TNumber > etichette, Operando <T> previsioni, Operando <T> sampleWeights)
Genera un operando che calcola la perdita.

Metodi ereditati

Costruttori pubblici

KLDivergence pubblica (Ops tf)

Crea una perdita di divergenza Kullback Leibler utilizzando getSimpleName() come nome della perdita e una riduzione della perdita di REDUCTION_DEFAULT

Parametri
tf le operazioni TensorFlow

KLDivergence pubblica (Ops tf, Riduzione riduzione)

Crea una perdita Kullback Leibler Divergence Loss utilizzando getSimpleName() come nome della perdita

Parametri
tf le operazioni TensorFlow
riduzione Tipo di riduzione da applicare alla perdita.

public KLDivergence (Ops tf, Nome stringa, Riduzione riduzione)

Crea una perdita di divergenza di Kullback Leibler

Parametri
tf le operazioni TensorFlow
nome il nome della perdita
riduzione Tipo di riduzione da applicare alla perdita.

Metodi pubblici

chiamata pubblica dell'operando <T> ( Operando <? estende TNumber > etichette, previsioni dell'operando <T>, operando <T> sampleWeights)

Genera un operando che calcola la perdita.

Parametri
etichette i valori o le etichette di verità
previsioni le previsioni
campionePesi sampleWeights opzionale funge da coefficiente per la perdita. Se viene fornito uno scalare, la perdita viene semplicemente ridimensionata in base al valore fornito. Se SampleWeights è un tensore di dimensione [batch_size], la perdita totale per ciascun campione del batch viene riscalata dall'elemento corrispondente nel vettore SampleWeights. Se la forma di SampleWeights è [batch_size, d0, .. dN-1] (o può essere trasmessa a questa forma), ogni elemento di perdita delle previsioni viene ridimensionato in base al valore corrispondente di SampleWeights. (Nota su dN-1: tutte le funzioni di perdita si riducono di 1 dimensione, solitamente asse=-1.)
Ritorni
  • la perdita