KLDivergence

classe pública KLDivergência

Calcula a perda de divergência de Kullback-Leibler entre rótulos e previsões.

loss = labels * log(labels / predictions)

Uso autônomo:

    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
 

Chamando com peso amostral:

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

Usando o tipo de redução SUM :

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

Usando o tipo de redução NONE :

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

Campos Herdados

Construtores Públicos

KLDivergência (Ops tf)
Cria uma perda de divergência Kullback Leibler usando getSimpleName() como o nome da perda e uma redução de perda de REDUCTION_DEFAULT
KLDivergência (Ops tf, redução de redução )
Cria uma perda de divergência de Kullback Leibler usando getSimpleName() como o nome da perda
KLDivergence (Ops tf, nome da string, redução de redução )
Cria uma perda de divergência de Kullback Leibler

Métodos Públicos

<T estende TNumber > Operando <T>
chamada ( Operando <? estende TNumber > rótulos, previsões de Operando <T>, Operando <T> sampleWeights)
Gera um Operando que calcula a perda.

Métodos herdados

Construtores Públicos

KLDivergência pública (Ops tf)

Cria uma perda de divergência Kullback Leibler usando getSimpleName() como o nome da perda e uma redução de perda de REDUCTION_DEFAULT

Parâmetros
TF as operações do TensorFlow

KLDivergência pública (Ops tf, redução de redução )

Cria uma perda de divergência de Kullback Leibler usando getSimpleName() como o nome da perda

Parâmetros
TF as operações do TensorFlow
redução Tipo de Redução a aplicar à perda.

public KLDivergence (Ops tf, nome da string, redução de redução )

Cria uma perda de divergência de Kullback Leibler

Parâmetros
TF as operações do TensorFlow
nome o nome da perda
redução Tipo de Redução a aplicar à perda.

Métodos Públicos

chamada de operando público <T> ( Operando <? estende TNumber > rótulos, previsões de operando <T>, pesos de amostra de operando <T>)

Gera um Operando que calcula a perda.

Parâmetros
rótulos os valores de verdade ou rótulos
previsões as previsões
pesos de amostra sampleWeights opcional atua como um coeficiente para a perda. Se um escalar for fornecido, a perda será simplesmente dimensionada pelo valor fornecido. Se SampleWeights for um tensor de tamanho [batch_size], então a perda total de cada amostra do lote será redimensionada pelo elemento correspondente no vetor SampleWeights. Se a forma de SampleWeights for [batch_size, d0, .. dN-1] (ou puder ser transmitida para esta forma), então cada elemento de perda de previsões será dimensionado pelo valor correspondente de SampleWeights. (Nota sobre dN-1: todas as funções de perda são reduzidas em 1 dimensão, geralmente eixo=-1.)
Devoluções
  • a perda