Recentemente mi sono imbattuto in tf.nn.sparse_softmax_cross_entropy_with_logits e non riesco a capire quale sia la differenza rispetto a tf.nn.softmax_cross_entropy_with_logits.TensorFlow: qual è la differenza tra sparse_softmax_cross_entropy_with_logits e softmax_cross_entropy_with_logits?
L'unica differenza che i vettori di allenamento devono essere one-hot encoded quando si utilizza sparse_softmax_cross_entropy_with_logits
?
Leggere l'API Non sono riuscito a trovare altre differenze rispetto a softmax_cross_entropy_with_logits
... ma perché è necessaria la funzione extra?
Non dovrebbe softmax_cross_entropy_with_logits
produrre gli stessi risultati di sparse_softmax_cross_entropy_with_logits
, se viene fornito con dati/vettori di allenamento codificati a una temperatura elevata?
Sono interessato a vedere un confronto delle loro prestazioni se entrambe possono essere utilizzate (ad esempio con etichette di immagini esclusive); Mi aspetto che la versione sparsa sia più efficiente, almeno per quanto riguarda la memoria. –
Vedere anche [questa domanda] (https://stackoverflow.com/q/47034888/712995), che tratta * di tutte le funzioni di cross-entropy * in tensorflow (risulta che ce ne sono molte). – Maxim