Calcula la pérdida de bisagra al cuadrado entre etiquetas y predicciones.
loss = square(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., 1.}, {0., 0.} }); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.6f, 0.4f}, {0.4f, 0.6f} }); SquaredHinge squaredHinge = new SquaredHinge(tf); Operand<TFloat32> result = squaredHinge.call(labels, predictions); // produces 1.86f
Llamar con el peso de la muestra:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = squaredHinge.call(labels, predictions, sampleWeight); // produces 0.73f
Usando el tipo de reducción SUM
:
SquaredHinge squaredHinge = new SquaredHinge(tf, Reduction.SUM); Operand<TFloat32> result = squaredHinge.call(labels, predictions); // produces 3.72f
Usando NONE
tipo de reducción:
SquaredHinge squaredHinge = new SquaredHinge(tf, Reduction.NONE); Operand<TFloat32> result = squaredHinge.call(labels, predictions); // produces [1.46f, 2.26f]
Campos heredados
Constructores públicos
SquaredHinge (Ops tf) Crea una pérdida de bisagra cuadrada usando getSimpleName() como nombre de pérdida y una reducción de pérdida de REDUCTION_DEFAULT | |
SquaredHinge (Ops tf, Reducción de reducción) Crea una pérdida de bisagra cuadrada usando getSimpleName() como nombre de pérdida | |
Métodos públicos
<T extiende TNumber > Operando <T> |
Métodos heredados
Constructores públicos
public SquaredHinge (Ops tf)
Crea una pérdida de bisagra cuadrada usando getSimpleName()
como nombre de pérdida y una reducción de pérdida de REDUCTION_DEFAULT
Parámetros
tf | las operaciones de TensorFlow |
---|
public SquaredHinge (Ops tf, Reducción de reducción)
Crea una pérdida de bisagra cuadrada usando getSimpleName()
como nombre de pérdida
Parámetros
tf | las operaciones de TensorFlow |
---|---|
reducción | Tipo de Reducción a aplicar al siniestro. |
public SquaredHinge (Ops tf, nombre de cadena, reducción de reducción)
Crea una bisagra cuadrada
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 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 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.]. |
---|