KLDivergence

public class KLDivergence

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
 

Ligando com peso de amostra:

    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

KLDivergence (Ops tf)
Cria uma perda de divergência de Kullback Leibler usando getSimpleName() como o nome da perda e uma redução de perda de REDUCTION_DEFAULT
KLDivergence (Ops tf, redução de redução)
Cria uma perda de 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, Operando <T> previsões, Operando <T> sampleWeights)
Gera um operando que calcula a perda.

Métodos herdados

Construtores Públicos

public KLDivergence (Ops tf)

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

Parâmetros
tf o TensorFlow Ops

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

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

Parâmetros
tf o TensorFlow Ops
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 o TensorFlow Ops
nome o nome da perda
redução Tipo de redução a aplicar à perda.

Métodos Públicos

pública Operando <T> chamada ( Operando <? estende TNumber > rótulos, Operando <T> previsões, Operando <T> sampleWeights)

Gera um operando que calcula a perda.

Parâmetros
rótulos os valores verdadeiros ou rótulos
previsões as previsões
sampleWeights 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], 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 pode ser transmitido para esta forma), então cada elemento de perda de previsões é escalado pelo valor correspondente de SampleWeights. (Nota sobre dN-1: todas as funções de perda reduzem em 1 dimensão, geralmente eixo = -1.)
Devoluções
  • a perda