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
Llamar 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]
Ver también
Campos heredados
Constructores Públicos
KLDivergencia (Ops tf) Crea una pérdida de divergencia de Kullback Leibler usando getSimpleName() como nombre de la pérdida y una reducción de pérdida de REDUCTION_DEFAULT | |
KLDivergence (Ops tf, reducción de reducción ) Crea una pérdida de divergencia de Kullback Leibler utilizando getSimpleName() como nombre de la 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 etiquetas TNumber >, predicciones de operando <T>, pesos de muestra de operando <T>) Genera un Operando que calcula la pérdida. |
Métodos heredados
Constructores Públicos
KLDivergencia pública (Ops tf)
Crea una pérdida de divergencia de Kullback Leibler usando getSimpleName()
como nombre de la pérdida y una reducción de pérdida de REDUCTION_DEFAULT
Parámetros
tf | las operaciones de TensorFlow |
---|
KLDivergence pública (Ops tf, reducción de reducción )
Crea una pérdida de divergencia de Kullback Leibler utilizando getSimpleName()
como nombre de la pérdida.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
reducción | Tipo de Reducción a aplicar sobre la pérdida. |
KLDivergence público (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 sobre la pérdida. |
Métodos públicos
Llamada pública al operando <T> ( el operando <? extiende las etiquetas TNumber >, las predicciones del operando <T>, los pesos de muestra del operando <T>)
Genera un Operando que calcula la pérdida.
Parámetros
etiquetas | los valores o etiquetas de verdad |
---|---|
predicciones | las predicciones |
pesos de muestra | SampleWeights opcional actúa como un coeficiente de pérdida. Si se proporciona un escalar, entonces la pérdida simplemente se escala según el valor dado. Si SampleWeights es un tensor de tamaño [batch_size], entonces la pérdida total de cada muestra del lote se vuelve a escalar mediante 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 según 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 perdida