Calcula la pérdida de entropía cruzada entre las etiquetas y las predicciones.
Utilice esta función de pérdida de entropía cruzada cuando haya dos o más clases de etiquetas. Esperamos que las etiquetas se proporcionen en una representación one_hot. Si desea proporcionar etiquetas como números enteros, utilice la pérdida SparseCategoricalCrossentropy
. Debe haber # classes
valores de punto flotante por característica.
Uso independiente:
Operand<TFloat32> labels = tf.constant(new float[][] { {0, 1, 0}, {0, 0, 1} }); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} }); CategoricalCrossentropy cce = new CategoricalCrossentropy(tf); Operand<TFloat32> result = cce.call(labels, predictions); // produces 1.177
Llamar con el peso de la muestra:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = cce.call(labels, predictions, sampleWeight); // produces 0.814f
Usando el tipo de reducción SUM
:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = cce.call(labels, predictions); // produces 2.354f
Usando NONE
tipo de reducción:
CategoricalCrossentropy cce = new CategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = cce.call(labels, predictions); // produces [0.0513f, 2.303f]
Constantes
En t | DEFAULT_AXIS | |
booleano | FROM_LOGITS_DEFAULT | |
flotador | LABEL_SMOOTHING_DEFAULT |
Campos heredados
Constructores públicos
CategoricalCrossentropy (Ops tf) Crea una pérdida de entropía cruzada categórica usando getSimpleName() como nombre de pérdida, FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT y un eje de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nombre de cadena) Crea una pérdida de entropía cruzada categórica usando FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT y un eje de DEFAULT_AXIS | |
CategoricalCrossentropía (Ops tf, Reducción de reducción) Crea una pérdida de entropía cruzada categórica usando getSimpleName() como nombre de pérdida, FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing y un eje de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, nombre de cadena, reducción de reducción) Crea una pérdida de entropía cruzada categórica FROM_LOGITS_DEFAULT para fromLogits, LABEL_SMOOTHING_DEFAULT para labelSmoothing y un eje de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, boolean fromLogits) Crea una pérdida de entropía cruzada categórica utilizando getSimpleName() como nombre de pérdida, LABEL_SMOOTHING_DEFAULT para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT y un eje de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, String name, boolean fromLogits) Crea una pérdida de entropía cruzada categórica usando LABEL_SMOOTHING_DEFAULT para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT y un eje de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing) Crea una pérdida de entropía cruzada categórica usando getSimpleName() como nombre de pérdida, una reducción de pérdida de REDUCTION_DEFAULT y un eje de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing) Crea una pérdida de entropía cruzada categórica usando una reducción de pérdida de REDUCTION_DEFAULT y un eje de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Reducción de reducción) Crea una pérdida de entropía cruzada categórica usando getSimpleName() como el nombre de la pérdida y un eje de canal de DEFAULT_AXIS | |
CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing, Reduction Reduction , int axis) Crea una pérdida de entropía cruzada categórica |
Métodos públicos
<T extiende TNumber > Operando <T> |
Métodos heredados
Constantes
public static final int DEFAULT_AXIS
booleano final estático público FROM_LOGITS_DEFAULT
flotador final estático público LABEL_SMOOTHING_DEFAULT
Constructores públicos
public CategoricalCrossentropy (Ops tf)
Crea una pérdida de entropía cruzada categórica usando getSimpleName()
como nombre de pérdida, FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT
y un eje de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|
public CategoricalCrossentropy (Ops tf, nombre de cadena)
Crea una pérdida de entropía cruzada categórica usando FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT
y un eje de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta pérdida |
public CategoricalCrossentropy (Ops tf, Reducción de reducción)
Crea una pérdida de entropía cruzada categórica usando getSimpleName()
como nombre de pérdida, FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing y un eje de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
reducción | Tipo de Reducción a aplicar a siniestro. |
public CategoricalCrossentropy (Ops tf, nombre de cadena, reducción de reducción)
Crea una pérdida de entropía cruzada categórica FROM_LOGITS_DEFAULT
para fromLogits, LABEL_SMOOTHING_DEFAULT
para labelSmoothing y un eje de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta perdida |
reducción | Tipo de Reducción a aplicar a siniestro. |
public CategoricalCrossentropy (Ops tf, boolean fromLogits)
Crea una pérdida de entropía cruzada categórica utilizando getSimpleName()
como nombre de pérdida, LABEL_SMOOTHING_DEFAULT
para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT
y un eje de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
public CategoricalCrossentropy (Ops tf, String name, boolean fromLogits)
Crea una pérdida de entropía cruzada categórica usando LABEL_SMOOTHING_DEFAULT
para labelSmoothing, una reducción de pérdida de REDUCTION_DEFAULT
y un eje de canal de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta perdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing)
Crea una pérdida de entropía cruzada categórica usando getSimpleName()
como nombre de pérdida, una reducción de pérdida de REDUCTION_DEFAULT
y un eje de canal de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Flotar en [0, 1] . Cuando > 0 , los valores de la etiqueta se suavizan, lo que significa que la confianza en los valores de la etiqueta se relaja. por ejemplo, labelSmoothing=0.2 significa que usaremos un valor de 0.1 para la etiqueta 0 y 0.9 para la etiqueta 1 |
public CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing)
Crea una pérdida de entropía cruzada categórica usando una reducción de pérdida de REDUCTION_DEFAULT
y un eje de canal de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta pérdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Flotar en [0, 1] . Cuando > 0 , los valores de la etiqueta se suavizan, lo que significa que la confianza en los valores de la etiqueta se relaja. por ejemplo, labelSmoothing=0.2 significa que usaremos un valor de 0.1 para la etiqueta 0 y 0.9 para la etiqueta 1 |
public CategoricalCrossentropy (Ops tf, boolean fromLogits, float labelSmoothing, Reduction reducción)
Crea una pérdida de entropía cruzada categórica usando getSimpleName()
como el nombre de la pérdida y un eje de canal de DEFAULT_AXIS
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Flotar en [0, 1] . Cuando > 0 , los valores de la etiqueta se suavizan, lo que significa que la confianza en los valores de la etiqueta se relaja. por ejemplo, x=0.2 significa que usaremos un valor de 0.1 para la etiqueta 0 y 0.9 para la etiqueta 1 |
reducción | Tipo de Reducción a aplicar a siniestro. |
public CategoricalCrossentropy (Ops tf, String name, boolean fromLogits, float labelSmoothing, Reduction Reduction , int axis)
Crea una pérdida de entropía cruzada categórica
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta pérdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
labelSmoothing | Flotar en [0, 1] . Cuando > 0 , los valores de la etiqueta se suavizan, lo que significa que la confianza en los valores de la etiqueta se relaja. por ejemplo, labelSmoothing=0.2 significa que usaremos un valor de 0.1 para la etiqueta 0 y 0.9 para la etiqueta 1 |
reducción | Tipo de Reducción a aplicar a siniestro. |
eje | El eje de los canales. axis=-1 corresponde al formato de datos "Channels Last" y axis=1 corresponde al formato de datos "Channels First". CHANNELS_LAST y CHANNELS_FIRST |
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], 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 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.]. |
---|