Huber

clase pública Huber

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
Huber (Ops tf, nombre de cadena, delta flotante, reducción de reducción)
Crea una pérdida de Huber

Métodos públicos

<T extiende TNumber > Operando <T>
llamada ( operando <? extiende TNumber > etiquetas, operando <T> predicciones, operando <T> sampleWeights)
Genera un operando que calcula la pérdida.

Métodos heredados

Constantes

flotador final estático público DELTA_DEFAULT

Valor constante: 1.0

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