CategoricalCrossentropy

clase pública CategoricalCrossentropy

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>
llamada ( operando <? extiende TNumber > etiquetas, operando <T> predicciones, operando <T> sampleWeights)
Genera un operando que calcula la pérdida.

Métodos heredados

Constantes

public static final int DEFAULT_AXIS

Valor constante: -1

booleano final estático público FROM_LOGITS_DEFAULT

Valor constante: falso

flotador final estático público LABEL_SMOOTHING_DEFAULT

Valor constante: 0.0

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.].