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