SoftmaxCrossEntropyWithLogits

SoftmaxCrossEntropyWithLogits classe pública

Construtores Públicos

Métodos Públicos

estática <T estende TNumber , U estende TNumber > Operando <T>
softmaxCrossEntropyWithLogits ( Scope escopo, Operando <U> etiquetas, Operando <T> logits, eixo int)
Calcula SoftMax entropia cruzamento entre logits e labels .

Métodos herdados

Construtores Públicos

SoftmaxCrossEntropyWithLogits públicos ()

Métodos Públicos

public static Operando <T> softmaxCrossEntropyWithLogits ( Scope escopo, Operando <U> etiquetas, Operando <T> logits, eixo int)

Calcula SoftMax entropia cruzamento entre logits e labels .

Mede a probabilidade de erro em tarefas de classificação discreta nas quais as classes são mutuamente exclusivas (cada entrada está em exatamente uma classe). Por exemplo, cada imagem CIFAR-10 é rotulada com um e apenas um rótulo: uma imagem pode ser um cachorro ou um caminhão, mas não ambos.

NOTA:

Embora as classes sejam mutuamente exclusivas, suas probabilidades não precisam ser. Tudo o que é necessário é que cada linha de labels é uma distribuição de probabilidade válido. Se não forem, o cálculo do gradiente estará incorreto.

Se estiver usando exclusivos labels (em que uma e apenas uma classe é verdade de cada 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 }
 

Backpropagation vai acontecer em ambos os logits e labels . Para backpropagation disallow em labels , passar tensores rótulo através tf.stopGradient antes de alimentá-lo para esta função.

Parâmetros
alcance escopo atual
rótulos Cada vector ao longo da dimensão de classe deve manter uma válida por exemplo, distribuição de probabilidade para o caso em que as etiquetas são de forma [batch_size, num_classes] , cada linha de labels[i] deve ser uma distribuição de probabilidade válido.
logits Ativações por rótulo, normalmente uma saída linear. Essas energias de ativação são interpretadas como probabilidades de registro não normalizadas.
eixo A dimensão da classe. -1 é a última dimensão.
Devoluções
  • a perda de entropia cruzada softmax. Seu tipo é o mesmo que logits e sua forma é o mesmo que labels , exceto que ele não tem a última dimensão de labels .