Calcula la pérdida de entropía cruzada entre etiquetas y predicciones.
Utilice esta función de pérdida de entropía cruzada cuando haya dos o más clases de etiquetas. Se espera que las etiquetas se proporcionen como números enteros. Si desea proporcionar etiquetas utilizando one-hot
representación en one-hot
, utilice la pérdida de CategoricalCrossentropy
entropía CategoricalCrossentropy
. Debe haber # classes
valores de punto flotante por característica para predictions
y un único valor de punto flotante por característica para label
.
En el fragmento a continuación, hay un único valor de punto flotante por ejemplo para labels
y # classes
valores de señalamiento flotante por ejemplo para predictions
. La forma de las labels
es [batch_size]
y la forma de las predictions
es [batch_size, num_classes]
.
Uso independiente:
Operand<TFloat32> labels = tf.constant(new float[] {1, 2}); Operand<TFloat32> predictions = tf.constant(new float[][] { {0.05f, 0.95f, 0f}, {0.1f, 0.8f, 0.1f} }); SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces 1.177f
Llamar con el peso de la muestra:
Operand<TFloat32> sampleWeight = tf.constant(new float[] {0.3f, 0.7f}); Operand<TFloat32> result = sparseCCE.call(labels, predictions, sampleWeight); // produces 0.814f
Usando el tipo de reducción SUM
:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.SUM); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces 2.354f
Usando NONE
tipo de reducción:
SparseCategoricalCrossentropy sparseCCE = new SparseCategoricalCrossentropy(tf, Reduction.NONE); Operand<TFloat32> result = sparseCCE.call(labels, predictions); // produces [0.0513f, 2.303f]
Constantes
En t | AXIS_DEFAULT | |
booleano | FROM_LOGITS_DEFAULT |
Campos heredados
Constructores públicos
SparseCategoricalCrossentropy (Ops tf) Crea una pérdida SparseCategoricalCrossentropy usando getSimpleName() como el nombre de la pérdida, una reducción de pérdida de REDUCTION_DEFAULT y fromLogits = FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nombre de cadena) Crea una pérdida SparseCategoricalCrossentropy usando una reducción de pérdida de REDUCTION_DEFAULT , y fromLogits = FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, Reducción de reducción) Crea una pérdida SparseCategoricalCrossentropy usando getSimpleName() como el nombre de la pérdida, con Reduction.AUTO y fromLogits = FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nombre de cadena, reducción de reducción) Crea una pérdida SparseCategoricalCrossentropy con Reduction.AUTO y fromLogits = FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, nombre de cadena, booleano fromLogits) Crea una SparseCategoricalCrossentropy usando una reducción de pérdida de REDUCTION_DEFAULT y fromLogits = FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, boolean fromLogits) Crea una pérdida de SparseCategoricalCrossentropy usando getSimpleName() como el nombre de la pérdida, una reducción de pérdida de REDUCTION_DEFAULT y fromLogits = FROM_LOGITS_DEFAULT . | |
SparseCategoricalCrossentropy (Ops tf, boolean fromLogits, Reducción de reducción) Crea una pérdida SparseCategoricalCrossentropy usando getSimpleName() como el nombre de la pérdida, | |
SparseCategoricalCrossentropy (Ops tf, String name, boolean fromLogits, Reduction reducción, int eje) Crea una SparseCategoricalCrossentropy |
Métodos públicos
<T extiende TNumber > Operando <T> |
Métodos heredados
Constantes
public static final int AXIS_DEFAULT
booleano final estático público FROM_LOGITS_DEFAULT
Constructores públicos
public SparseCategoricalCrossentropy (Ops tf)
Crea una pérdida SparseCategoricalCrossentropy usando getSimpleName()
como el nombre de la pérdida, una reducción de pérdida de REDUCTION_DEFAULT
y fromLogits = FROM_LOGITS_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|
public SparseCategoricalCrossentropy (Ops tf, nombre de cadena)
Crea una pérdida SparseCategoricalCrossentropy usando una reducción de pérdida de REDUCTION_DEFAULT
y fromLogits = FROM_LOGITS_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta función de pérdida |
public SparseCategoricalCrossentropy (Ops tf, Reducción de reducción)
Crea una pérdida SparseCategoricalCrossentropy usando getSimpleName()
como el nombre de la pérdida, con Reduction.AUTO y fromLogits = FROM_LOGITS_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
reducción | Tipo de Reducción a aplicar a siniestro. |
public SparseCategoricalCrossentropy (Ops tf, nombre de cadena, reducción de reducción)
Crea una pérdida SparseCategoricalCrossentropy con Reduction.AUTO y fromLogits = FROM_LOGITS_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta función de pérdida |
reducción | Tipo de Reducción a aplicar a siniestro. |
public SparseCategoricalCrossentropy (Ops tf, String name, boolean fromLogits)
Crea una SparseCategoricalCrossentropy usando una reducción de pérdida de REDUCTION_DEFAULT
, y fromLogits = FROM_LOGITS_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta función de pérdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
public SparseCategoricalCrossentropy (Ops tf, boolean fromLogits)
Crea una pérdida SparseCategoricalCrossentropy usando getSimpleName()
como el nombre de la pérdida, una reducción de pérdida de REDUCTION_DEFAULT
y fromLogits = FROM_LOGITS_DEFAULT
.
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
public SparseCategoricalCrossentropy (Ops tf, boolean fromLogits, Reducción de reducción)
Crea una pérdida SparseCategoricalCrossentropy usando getSimpleName()
como el nombre de la pérdida,
Parámetros
tf | las operaciones de TensorFlow |
---|---|
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
reducción | Tipo de Reducción a aplicar a siniestro. |
public SparseCategoricalCrossentropy (Ops tf, nombre de cadena, booleano fromLogits, reducción de reducción, eje int)
Crea una SparseCategoricalCrossentropy
Parámetros
tf | las operaciones de TensorFlow |
---|---|
nombre | el nombre de esta función de pérdida |
deLogits | Ya sea para interpretar las predicciones como un tensor de valores logit |
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'. |
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.]. |
---|