Ich bin kürzlich auf tf.nn.sparse_softmax_cross_entropy_with_logits gestoßen und ich kann nicht herausfinden, was der Unterschied im Vergleich zu tf.nn.softmax_cross_entropy_with_logits ist.TensorFlow: Was ist der Unterschied zwischen sparse_softmax_cross_entropy_with_logits und softmax_cross_entropy_with_logits?
Ist der einzige Unterschied, dass Trainingsvektoren y
one-hot encoded sein müssen, wenn sparse_softmax_cross_entropy_with_logits
verwendet wird?
Lesen der API Ich konnte keinen anderen Unterschied im Vergleich zu softmax_cross_entropy_with_logits
finden ... aber warum brauchen wir dann die Extra-Funktion?
Sollte nicht softmax_cross_entropy_with_logits
die gleichen Ergebnisse wie sparse_softmax_cross_entropy_with_logits
produzieren, wenn es mit One-hot codierten Trainingsdaten/Vektoren geliefert wird?
Ich bin daran interessiert, einen Vergleich ihrer Leistung zu sehen, wenn beide verwendet werden können (z. B. mit exklusiven Bildbeschriftungen); Ich würde erwarten, dass die Sparse-Version zumindest im Hinblick auf die Speicherkapazität effizienter ist. –
Siehe auch [diese Frage] (https://stackoverflow.com/q/47034888/712995), die * alle Cross-Entropie-Funktionen * im Tensorflow behandelt (es gibt viele davon). – Maxim