Constructeurs Publics
Méthodes publiques
statique <T étend TNumber , U étend TNumber > Opérande <T> | softmaxCrossEntropyWithLogits ( portée de portée , étiquettes d'opérande <U>, logits d'opérande <T>, axe int) Calcule l'entropie croisée softmax entre logits et labels . |
Méthodes héritées
Constructeurs Publics
public SoftmaxCrossEntropyWithLogits ()
Méthodes publiques
public static Operand <T> softmaxCrossEntropyWithLogits ( portée de portée, étiquettes d'opérande <U>, logits d'opérande <T>, axe int)
Calcule l'entropie croisée softmax entre logits
et labels
.
Mesure l'erreur de probabilité dans les tâches de classification discrètes dans lesquelles les classes s'excluent mutuellement (chaque entrée appartient exactement à une classe). Par exemple, chaque image CIFAR-10 est étiquetée avec une et une seule étiquette : une image peut être un chien ou un camion, mais pas les deux.
NOTE:
Même si les classes s’excluent mutuellement, leurs probabilités ne le sont pas nécessairement. Il suffit que chaque rangée d' labels
soit une distribution de probabilité valide. Si ce n’est pas le cas, le calcul du gradient sera incorrect.
Si vous utilisez labels
exclusives (dans lesquelles une et une seule classe est vraie à la fois), voir ERROR(/org.tensorflow.op.NnOps#sparseSoftmaxCrossEntropyWithLogits)
Usage:
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 rétropropagation se produira à la fois dans logits
et labels
. Pour interdire la rétropropagation dans labels
, transmettez les tenseurs d'étiquettes via tf.stopGradient
avant de les transmettre à cette fonction.
Paramètres
portée | portée actuelle |
---|---|
étiquettes | Chaque vecteur le long de la dimension de classe doit contenir une distribution de probabilité valide, par exemple dans le cas où les étiquettes ont la forme [batch_size, num_classes] , chaque ligne d' labels[i] doit être une distribution de probabilité valide. |
logites | Activations par étiquette, généralement une sortie linéaire. Ces énergies d'activation sont interprétées comme des probabilités logarithmiques non normalisées. |
axe | La dimension de classe. -1 est la dernière dimension. |
Retours
- la perte d'entropie croisée softmax. Son type est le même que
logits
et sa forme est la même que cellelabels
sauf qu'il n'a pas la dernière dimension deslabels
.