KLDivergence

clase pública KLDivergencia

Calcula la pérdida de divergencia de Kullback-Leibler entre etiquetas y predicciones.

loss = labels * log(labels / predictions)

Uso independiente:

    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
 

Llamar con peso de muestra:

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

Usando el tipo de reducción SUM :

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

Usando NONE tipo de reducción:

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

Campos heredados

Constructores Públicos

KLDivergencia (Ops tf)
Crea una pérdida de divergencia de Kullback Leibler usando getSimpleName() como nombre de la pérdida y una reducción de pérdida de REDUCTION_DEFAULT
KLDivergence (Ops tf, reducción de reducción )
Crea una pérdida de divergencia de Kullback Leibler utilizando getSimpleName() como nombre de la pérdida.
KLDivergence (Ops tf, nombre de cadena, reducción de reducción )
Crea una pérdida de divergencia de Kullback Leibler

Métodos públicos

<T extiende TNumber > Operando <T>
llamada ( Operando <? extiende etiquetas TNumber >, predicciones de operando <T>, pesos de muestra de operando <T>)
Genera un Operando que calcula la pérdida.

Métodos heredados

Constructores Públicos

KLDivergencia pública (Ops tf)

Crea una pérdida de divergencia de Kullback Leibler usando getSimpleName() como nombre de la pérdida y una reducción de pérdida de REDUCTION_DEFAULT

Parámetros
tf las operaciones de TensorFlow

KLDivergence pública (Ops tf, reducción de reducción )

Crea una pérdida de divergencia de Kullback Leibler utilizando getSimpleName() como nombre de la pérdida.

Parámetros
tf las operaciones de TensorFlow
reducción Tipo de Reducción a aplicar sobre la pérdida.

KLDivergence público (Ops tf, nombre de cadena, reducción de reducción )

Crea una pérdida de divergencia de Kullback Leibler

Parámetros
tf las operaciones de TensorFlow
nombre el nombre de la perdida
reducción Tipo de Reducción a aplicar sobre la pérdida.

Métodos públicos

Llamada pública al operando <T> ( el operando <? extiende las etiquetas TNumber >, las predicciones del operando <T>, los pesos de muestra del operando <T>)

Genera un Operando que calcula la pérdida.

Parámetros
etiquetas los valores o etiquetas de verdad
predicciones las predicciones
pesos de muestra SampleWeights opcional actúa como un coeficiente de pérdida. Si se proporciona un escalar, entonces la pérdida simplemente se escala según el valor dado. Si SampleWeights es un tensor de tamaño [batch_size], entonces la pérdida total de cada muestra del lote se vuelve a escalar mediante el elemento correspondiente en el vector SampleWeights. Si la forma de SampleWeights es [batch_size, d0, .. dN-1] (o se puede transmitir a esta forma), entonces cada elemento de pérdida de las predicciones se escala según el valor correspondiente de SampleWeights. (Nota sobre dN-1: todas las funciones de pérdida se reducen en 1 dimensión, generalmente eje = -1).
Devoluciones
  • la perdida