Construtores Públicos
Métodos Públicos
estático <T estende TNumber , U estende TNumber > Operando <T> | softmaxCrossEntropyWithLogits (escopo do escopo , rótulos do operando <U>, logits do operando <T>, eixo interno) Calcula a entropia cruzada softmax entre logits e labels . |
Métodos herdados
Construtores Públicos
público SoftmaxCrossEntropyWithLogits ()
Métodos Públicos
public static Operand <T> softmaxCrossEntropyWithLogits (escopo do escopo , rótulos do operando <U>, logits do operando <T>, eixo int)
Calcula a entropia cruzada softmax entre logits
e labels
.
Mede o erro de probabilidade 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.
OBSERVAÇÃO:
Embora as classes sejam mutuamente exclusivas, suas probabilidades não precisam ser. Tudo o que é necessário é que cada linha de labels
seja uma distribuição de probabilidade válida. Caso contrário, o cálculo do gradiente estará incorreto.
Se estiver usando labels
exclusivos (em que uma e apenas uma classe é verdadeira por 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 }
A retropropagação acontecerá tanto em logits
quanto labels
. Para impedir a retropropagação em labels
, passe tensores de rótulo por meio de tf.stopGradient
antes de alimentá-los para esta função.
Parâmetros
escopo | escopo atual |
---|---|
rótulos | Cada vetor ao longo da dimensão da classe deve conter uma distribuição de probabilidade válida, por exemplo, para o caso em que os rótulos têm a forma [batch_size, num_classes] , cada linha de labels[i] deve ser uma distribuição de probabilidade válida. |
logitos | Ativações por rótulo, normalmente uma saída linear. Essas energias de ativação são interpretadas como log de probabilidades 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 dos
logits
e seu formato é o mesmo doslabels
exceto que não possui a última dimensão doslabels
.