2017-07-17 3 views
0

Was bedeutet es, wenn dies der Rückgabewert für tf.losses.softmax_cross_entropy_loss ist?Softmax Kreuz Entropie Rückgabewert

<tf.Tensor 'softmax_cross_entropy_loss/value:0' shape=() dtype=float32> 

Bedeutet die Tatsache, dass value:0 ist heißt es bedeuten und shape=() bedeuten, dass nichts berechnet wurde?

Antwort

2

Es wurde nichts berechnet, weil Sie die Tensoren in der Grafik anzeigen, bevor Daten durch sie geleitet wurden. Lassen Sie uns sagen

sce = tf.losses.softmax_cross_entropy_loss(input) 

Dann tatsächlich den Verlust Wert, den Sie in sie füttern Daten erhalten

mit
sess = tf.Session() 
... 
loss = sess.run(sce, feed_dict) 

wo feed_dict das Wörterbuch für Ihre Daten. Der Verlust gibt nun den tatsächlichen numerischen Verlustwert zurück.

value ist nur ein Indikator für die Gruppe von Berechnungen, denen der Wert gehört. Zum Beispiel: tf.reduce_mean gibt tf.Tensor 'Mean_1:0' shape=() dtype=float32 zurück, weil es sich um eine Mittelwertberechnung handelt. Die 0 bedeutet nicht, dass ihr aktueller Wert 0 ist, sie wird nur für die Indexierung verwendet.

Zusätzlich ist Ihre Tensorform (), da der einzelne Verlustwert keine Stapelgröße, x- oder y-Richtung oder Kanäle hat (vorausgesetzt, Sie arbeiten mit 4D-Tensoren), so dass auch dies in Ordnung ist.

Verwandte Themen