Calcula la pérdida de bisagra entre etiquetas y predicciones.
loss = maximum(1 - labels * predictions, 0)
.
Se espera que los valores de las labels
sean -1 o 1. Si se proporcionan etiquetas binarias (0 o 1), se convertirán en -1 o 1.
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} }); Hinge hingeLoss = new Hinge(tf); Operand<TFloat32> result = hingeLoss.call(labels, predictions); // produces 1.3f
Llamar con el peso de la muestra:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = hingeLoss.call(labels, predictions, sampleWeight); // produces 0.55f
Usando el tipo de reducción SUM
:
Hinge hingeLoss = new Hinge(tf, Reduction.SUM); Operand<TFloat32> result = hingeLoss.call(labels, predictions); // produces 2.6f
Usando NONE
tipo de reducción:
Hinge hingeLoss = new Hinge(tf, Reduction.NONE); Operand<TFloat32> result = hingeLoss.call(labels, predictions); // produces [1.1f, 1.5f]
Campos heredados
Constructores públicos
Bisagra (Ops tf) Crea una pérdida de bisagra usando getSimpleName() como nombre de pérdida y una reducción de pérdida de REDUCTION_DEFAULT | |
Bisagra (Ops tf, reducción de reducción) Crea una pérdida de bisagra utilizando getSimpleName() como nombre de pérdida | |
Métodos públicos
<T extiende TNumber > Operando <T> |
Métodos heredados
Constructores públicos
bisagra pública (Ops tf)
Crea una pérdida de bisagra usando getSimpleName()
como nombre de pérdida y una reducción de pérdida de REDUCTION_DEFAULT
Parámetros
tf | las operaciones de TensorFlow |
---|
bisagra pública (Ops tf, reducción de reducción)
Crea una pérdida de bisagra utilizando getSimpleName()
como nombre de pérdida
Parámetros
tf | las operaciones de TensorFlow |
---|---|
reducción | Tipo de Reducción a aplicar al siniestro. |
public Hinge (Ops tf, String name, Reduction Reduction )
Crea una bisagra
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de la perdida |
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.
Si se ejecuta en modo Graph, el cálculo arrojará TFInvalidArgumentException
si los valores de la etiqueta no están en el conjunto [-1., 0., 1.]. En el modo ansioso, esta llamada lanzará IllegalArgumentException
, si los valores de la etiqueta no están en el conjunto [-1., 0., 1.].
Parámetros
etiquetas | los valores o etiquetas de verdad deben ser -1, 0 o 1. Se espera que los valores sean -1 o 1. Si se proporcionan etiquetas binarias (0 o 1), se convertirán en -1 o 1. |
---|---|
predicciones | las predicciones, los valores deben estar en el rango [0. a 1.] inclusive. |
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 de 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 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
Lanza
Argumento de excepción ilegal | si las predicciones están fuera del rango [0.-1.]. |
---|