Calcula la pérdida de entropía cruzada entre etiquetas verdaderas y etiquetas predichas.
Utilice esta pérdida de entropía cruzada cuando solo haya dos clases de etiquetas (se supone que son 0 y 1). Para cada ejemplo, debería haber un único valor de punto flotante por predicción.
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} }); BinaryCrossentropy bce = new BinaryCrossentropy(tf); Operand<TFloat32> result = bce.call(labels, predictions); // produces 0.815
Llamando con el peso de la muestra:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {1.f, 0.f}); Operand<TFloat32> result = bce.call(labels, predictions, sampleWeight); // produces 0.458f
Usando el tipo de reducción SUM
:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = bce.call(labels, predictions); // produces 1.630f
Usando NONE
tipo de reducción:
BinaryCrossentropy bce = new BinaryCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = bce.call(labels, predictions); // produces [0.916f, 0.714f]
Constantes
booleano | FROM_LOGITS_DEFAULT | |
flotador | LABEL_SMOOTHING_DEFAULT |
Campos heredados
Constructores públicos
BinaryCrossentropy (Ops tf) Crea una pérdida de cruce de entropía binaria usando getSimpleName() como nombre de pérdida, FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing y una reducción de pérdida de REDUCTION_DEFAULT | |
BinaryCrossentropy (Ops tf, Reducción de reducción) Crea una pérdida de Crossentropy binaria usando getSimpleName() como nombre de pérdida, FROM_LOGITS_DEFAULT para fromLogits y LABEL_SMOOTHING_DEFAULT para labelSmoothing | |
BinaryCrossentropy (Ops tf, booleano fromLogits) Crea una pérdida de cruce de entropía binaria utilizando getSimpleName() como nombre de pérdida, labelSmoothing de LABEL_SMOOTHING_DEFAULT , una reducción de REDUCTION_DEFAULT , | |
BinaryCrossentropy (Ops tf, String name, boolean fromLogits) Crea una pérdida de cruce de LABEL_SMOOTHING_DEFAULT binaria usando labelSmoothing de LABEL_SMOOTHING_DEFAULT una reducción de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing) Crea una pérdida de cruce de entropía binaria utilizando getSimpleName() como nombre de pérdida y una reducción de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing) Crea una pérdida de cruce de entropía binaria utilizando una reducción de REDUCTION_DEFAULT . | |
BinaryCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Reducción de reducción) Crea una pérdida de cruce de entropía binaria | |
BinaryCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing, Reducción de reducción) Crea una pérdida de cruce de entropía binaria |
Métodos públicos
<T extiende TNumber > Operando <T> |
Métodos heredados
Constantes
booleano final estático público FROM_LOGITS_DEFAULT
flotador final estático público LABEL_SMOOTHING_DEFAULT
Constructores públicos
public BinaryCrossentropy (Ops tf)
Crea una pérdida de cruce de entropía binaria usando getSimpleName()
como nombre de pérdida, FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing y una reducción de pérdida de REDUCTION_DEFAULT
Parámetros
tf | las operaciones de TensorFlow |
---|
public BinaryCrossentropy (Ops tf, reducción de reducción)
Crea una pérdida de Crossentropy binaria usando getSimpleName()
como nombre de pérdida, FROM_LOGITS_DEFAULT
para fromLogits y LABEL_SMOOTHING_DEFAULT
para labelSmoothing
Parámetros
tf | las operaciones de TensorFlow |
---|---|
reducción | Tipo de Reducción a aplicar al siniestro. |
public BinaryCrossentropy (Ops tf, boolean fromLogits)
Crea una pérdida de Crossentropy binaria usando getSimpleName()
como nombre de pérdida, labelSmoothing de LABEL_SMOOTHING_DEFAULT
, una reducción de REDUCTION_DEFAULT
,
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
public BinaryCrossentropy (Ops tf, String name, boolean fromLogits)
Crea una pérdida de Crossentropy binaria usando labelSmoothing de LABEL_SMOOTHING_DEFAULT
una reducción de REDUCTION_DEFAULT
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de la perdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
public BinaryCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing)
Crea una pérdida de cruce de entropía binaria utilizando getSimpleName()
como nombre de pérdida y una reducción de REDUCTION_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Un número en el rango [0, 1]. Cuando es 0, no se produce ningún suavizado. Cuando> 0, calcule la pérdida entre las etiquetas predichas y una versión suavizada de las etiquetas verdaderas, donde el suavizado aprieta las etiquetas hacia 0.5. Los valores más altos de labelSmoothing corresponden a un suavizado más intenso. |
public BinaryCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing)
Crea una pérdida de cruce de entropía binaria utilizando una reducción de REDUCTION_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de la perdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Un número en el rango [0, 1]. Cuando es 0, no se produce ningún suavizado. Cuando> 0, calcule la pérdida entre las etiquetas predichas y una versión suavizada de las etiquetas verdaderas, donde el suavizado aprieta las etiquetas hacia 0.5. Los valores más altos de labelSmoothing corresponden a un suavizado más intenso. |
public BinaryCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Reducción de reducción)
Crea una pérdida de cruce de entropía binaria
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Un número en el rango [0, 1]. Cuando es 0, no se produce ningún suavizado. Cuando> 0, calcule la pérdida entre las etiquetas predichas y una versión suavizada de las etiquetas verdaderas, donde el suavizado aprieta las etiquetas hacia 0.5. Los valores más altos de labelSmoothing corresponden a un suavizado más intenso. |
reducción | Tipo de Reducción a aplicar al siniestro. |
public BinaryCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing, Reducción de reducción)
Crea una pérdida de cruce de entropía binaria
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de la perdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Un número en el rango [0, 1]. Cuando es 0, no se produce ningún suavizado. Cuando> 0, calcule la pérdida entre las etiquetas predichas y una versión suavizada de las etiquetas verdaderas, donde el suavizado aprieta las etiquetas hacia 0.5. Los valores más altos de labelSmoothing corresponden a un suavizado más intenso. |
reducción | Tipo de Reducción a aplicar al siniestro. |
Lanza
Argumento de excepción ilegal | si labelSmoothing no está en el rango inclusivo de 0. - 1. |
---|
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 las predicciones están fuera del rango o [0. a 1.]. En el modo ansioso, esta llamada arrojará IllegalArgumentException
, si los valores de las predicciones están fuera del rango o [0. a 1.]
Parámetros
etiquetas | los valores de verdad o etiquetas |
---|---|
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 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
Lanza
Argumento de excepción ilegal | si las predicciones están fuera del rango [0.-1.]. |
---|