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]
Veja também
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 das 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