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
 

Llamando 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 pérdida y una reducción de pérdida de REDUCTION_DEFAULT
KLDivergencia (Ops tf, Reducción reducción)
Crea una pérdida de pérdida de divergencia de Kullback Leibler usando getSimpleName() como nombre de 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 TNumber > etiquetas, operando <T> predicciones, operando <T> sampleWeights)
Genera un operando que calcula la pérdida.

Métodos heredados

Constructores públicos

público KLDivergence (Ops tf)

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

Parámetros
tf las operaciones de TensorFlow

público KLDivergencia (Ops tf, Reducción reducción)

Crea una pérdida de pérdida de divergencia de Kullback Leibler usando getSimpleName() como nombre de pérdida

Parámetros
tf las operaciones de TensorFlow
reducción Tipo de Reducción a aplicar al siniestro.

public KLDivergence (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 al siniestro.

Métodos públicos

pública operando <T> llamada ( Operando <? extiende TNumber > etiquetas, operando <T> predicciones, operando <T> sampleWeights)

Genera un operando que calcula la pérdida.

Parámetros
etiquetas los valores de verdad o etiquetas
predicciones las predicciones
sampleWeights SampleWeights opcional actúa como un coeficiente para la pérdida. Si se proporciona un escalar, entonces la pérdida simplemente se escala por el valor dado. Si SampleWeights es un tensor de tamaño [batch_size], entonces la pérdida total para cada muestra del lote se reescala por 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 por 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 pérdida