Calcula la pérdida de Huber entre etiquetas y predicciones.
Para cada valor x en error = labels - predictions
:
loss = 0.5 * x^2 if |x| <= d loss = 0.5 * d^2 + d * (|x| - d) if |x| > d
donde d es delta.
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} }); Huber huberLoss = new Huber(tf); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces 0.155
Llamando con el peso de la muestra:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = huberLoss.call(labels, predictions, sampleWeight); // produces 0.09f
Usando el tipo de reducción SUM
:
Huber huberLoss = new Huber(tf, Reduction.SUM); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces 0.32f
Usando NONE
tipo de reducción:
Huber huberLoss = new Huber(tf, Reduction.NONE); Operand<TFloat32> result = huberLoss.call(labels, predictions); // produces [0.18f, 0.13f]
Ver también
Constantes
flotador | DELTA_DEFAULT |
Campos heredados
Constructores públicos
Huber (Operaciones tf) Crea una pérdida de Huber usando getSimpleName() como nombre de pérdida, DELTA_DEFAULT como delta y una reducción de pérdida de REDUCTION_DEFAULT | |
Huber (Ops tf, nombre de cadena) Crea una pérdida de Huber usando DELTA_DEFAULT como delta y una reducción de pérdida de REDUCTION_DEFAULT | |
Huber (Ops tf, Reducción de reducción) Crea una pérdida de Huber usando getSimpleName() como nombre de pérdida y DELTA_DEFAULT como delta | |
Huber (Ops tf, nombre de cadena, reducción de reducción) Crea una pérdida de Huber usando DELTA_DEFAULT como delta | |
Métodos públicos
<T extiende TNumber > Operando <T> |
Métodos heredados
Constantes
flotador final estático público DELTA_DEFAULT
Constructores públicos
public Huber (Ops tf)
Crea una pérdida de Huber usando getSimpleName()
como nombre de pérdida, DELTA_DEFAULT
como delta y una reducción de pérdida de REDUCTION_DEFAULT
Parámetros
tf | las operaciones de TensorFlow |
---|
public Huber (Ops tf, nombre de cadena)
Crea una pérdida de Huber usando DELTA_DEFAULT
como delta y una reducción de pérdida de REDUCTION_DEFAULT
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de la pérdida, si es nulo, se getSimpleName() . |
public Huber (Ops tf, Reducción de reducción)
Crea una pérdida de Huber usando getSimpleName()
como nombre de pérdida y DELTA_DEFAULT
como delta
Parámetros
tf | las operaciones de TensorFlow |
---|---|
reducción | Tipo de Reducción a aplicar al siniestro. |
public Huber (Ops tf, nombre de cadena, reducción de reducción)
Crea una pérdida de Huber usando DELTA_DEFAULT
como delta
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de la pérdida, si es nulo, se getSimpleName() . |
reducción | Tipo de Reducción a aplicar al siniestro. |
public Huber (Ops tf, nombre de cadena, delta flotante, reducción de reducción)
Crea una pérdida de Huber
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de la pérdida, si es nulo, se getSimpleName() . |
delta | el punto donde la función de pérdida de Huber cambia de cuadrática a lineal. |
reducción | Tipo de Reducción a aplicar al siniestro. |
Métodos públicos
pública operando <T> llamada ( Operando <? extiende TNumber > etiquetas, operando <T> predicciones, operando <T> sampleWeights)
Genera un operando que calcula la pérdida.
Parámetros
etiquetas | los valores de verdad o etiquetas |
---|---|
predicciones | las predicciones |
sampleWeights | SampleWeights opcional actúa como un coeficiente para la pérdida. Si se proporciona un escalar, entonces la pérdida simplemente se escala por el valor dado. Si SampleWeights es un tensor de tamaño [batch_size], entonces la pérdida total para cada muestra del lote se reescala por 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 por 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 pérdida