SoftmaxCrossEntropyWithLogits

clase pública SoftmaxCrossEntropyWithLogits

Constructores Públicos

Métodos públicos

estático <T extiende TNumber , U extiende TNumber > Operando <T>
softmaxCrossEntropyWithLogits (alcance del alcance , etiquetas del operando <U>, logits del operando <T>, eje int)
Calcula la entropía cruzada de softmax entre logits y labels .

Métodos heredados

Constructores Públicos

público SoftmaxCrossEntropyWithLogits ()

Métodos públicos

Operando estático público <T> softmaxCrossEntropyWithLogits (alcance del alcance , etiquetas del operando <U>, logits del operando <T>, eje int)

Calcula la entropía cruzada de softmax entre logits y labels .

Mide el error de probabilidad en tareas de clasificación discretas en las que las clases son mutuamente excluyentes (cada entrada pertenece exactamente a una clase). Por ejemplo, cada imagen CIFAR-10 está etiquetada con una y sólo una etiqueta: una imagen puede ser un perro o un camión, pero no ambos.

NOTA:

Si bien las clases son mutuamente excluyentes, sus probabilidades no tienen por qué serlo. Todo lo que se requiere es que cada fila de labels sea una distribución de probabilidad válida. Si no es así, el cálculo del gradiente será incorrecto.

Si usa labels exclusivas (donde una y solo una clase es verdadera a la vez), consulte ERROR(/org.tensorflow.op.NnOps#sparseSoftmaxCrossEntropyWithLogits)

Uso:

   Operand<TFloat32> logits =
       tf.constant(new float[][] { {4.0F, 2.0F, 1.0F}, {0.0F, 5.0F, 1.0F} } );
   Operand<TFloat32> labels =
       tf.constant(new float[][] { {1.0F, 0.0F, 0.0F}, {0.0F, 0.8F, 0.2F} } );
   Operand<TFloat32> output =
       tf.nn.softmaxCrossEntropyWithLogits(labels, logits, -1);
   // output Shape = [2]
   // dataType = FLOAT (1)
   // values { 0.169846, 0.824745 }
 

La retropropagación se producirá tanto en logits como labels . Para no permitir la propagación hacia atrás en labels , pase los tensores de etiquetas a través de tf.stopGradient antes de enviarlos a esta función.

Parámetros
alcance alcance actual
etiquetas Cada vector a lo largo de la dimensión de clase debe contener una distribución de probabilidad válida, por ejemplo, en el caso de que las etiquetas tengan la forma [batch_size, num_classes] , cada fila de labels[i] debe tener una distribución de probabilidad válida.
logits Activaciones por etiqueta, normalmente una salida lineal. Estas energías de activación se interpretan como probabilidades logarítmicas no normalizadas.
eje La dimensión de clase. -1 es la última dimensión.
Devoluciones
  • la pérdida de entropía cruzada softmax. Su tipo es el mismo que el de logits y su forma es la misma que labels , excepto que no tiene la última dimensión de labels .