Calcula la pérdida de bisagra al cuadrado entre etiquetas y predicciones.
loss = square(maximum(1 - labels * predictions, 0))
Se espera que los valores labels
sean -1 o 1. Si se proporcionan etiquetas binarias (0 o 1), se convertirán a -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 peso de 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
Bisagra cuadrada (Ops tf) Crea una pérdida de bisagra al cuadrado usando getSimpleName() como nombre de la 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 al cuadrado usando getSimpleName() como nombre de la pérdida. | |
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
SquaredHinge público (Ops tf)
Crea una pérdida de bisagra al cuadrado 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 |
---|
public SquaredHinge (Ops tf, reducción de reducción )
Crea una pérdida de bisagra al cuadrado usando 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. |
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 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.
Si se ejecuta en modo Gráfico, el cálculo generará TFInvalidArgumentException
si los valores de la etiqueta no están en el conjunto [-1., 0., 1.]. En modo ansioso, esta llamada generará 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 a -1 o 1. |
---|---|
predicciones | las predicciones, los valores deben estar en el rango [0. a 1.] inclusive. |
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
Lanza
Excepción de argumento ilegal | si las predicciones están fuera del rango [0.-1.]. |
---|