SoftmaxCrossEntropyWithLogits

SoftmaxCrossEntropyWithLogits clase pública

Constructores públicos

Métodos públicos

estática <T se extiende TNumber , U se extiende TNumber > Operando <T>
softmaxCrossEntropyWithLogits ( Alcance alcance, operando <U> etiquetas, operando <T> logits, int eje)
Calcula Softmax entropía cruzada entre logits y labels .

Métodos heredados

Constructores públicos

SoftmaxCrossEntropyWithLogits públicos ()

Métodos públicos

public static Operando <T> softmaxCrossEntropyWithLogits ( Alcance alcance, operando <U> etiquetas, operando <T> logits, eje int)

Calcula Softmax entropía cruzada 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 solo 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 es una distribución de probabilidad válida. Si no es así, el cálculo del gradiente será incorrecto.

Si se utiliza exclusivos labels (en los que una y sólo una clase es cierto a la vez), véase 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 }
 

Retropropagación ocurrirá en ambos logits y labels . Para backpropagation disallow en labels , pasar tensores de etiquetas a través de tf.stopGradient antes de alimentar a esta función.

Parámetros
alcance alcance actual
etiquetas Cada vector a lo largo de la dimensión de clase debe mantener una distribución de probabilidad válido por ejemplo para el caso en el que las etiquetas son de forma [batch_size, num_classes] , cada fila de labels[i] debe ser 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 de registro 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 logits y su forma es la misma que labels , excepto que no tiene la última dimensión de labels .