2017-02-18 3 views
0

Eine einfache Feed-Forward-DNN mit entsprechenden CSV-Dateien normalisieren können hier https://github.com/jhsmith12345/tensorflow/blob/normalize_prediction/tf_from_csv.pywie Vorhersagewerte in tensorflow

Dieses Stück Code

classification = prediction.eval(feed_dict={x: [[9,3]]}) 
print (classification) 

ausgibt

[[ -12.2412138 -17.24327469 ]] 

ich finden Ich erwarte eine Vorhersage, die den Bezeichnungen entspricht, die 1 oder 0 sind. Etwas wie

[[ 0 1 ]] 

Ich glaube, dass meine Vorhersagewerte nicht durch eine Softmax normalisiert werden, aber ich habe keine Ahnung, wie ich vorgehen soll. Jede Hilfe wird geschätzt! Außerdem bin ich mehr als glücklich, den vollen Code hier zu veröffentlichen, aber wollte den Pfosten nicht durcheinander bringen. Vielen Dank!

Antwort

1

mir klar Lassen, in Ihrem Code

prediction = neural_network_model(x) 
prediction.eval(feed_dict={x: [[9,3]]}) 
# output is [[ -12.2412138 -17.24327469 ]] 

und Sie verwirren, warum der Bereich nicht 0 ~ 1 ist, nicht wahr?
weil softmax nicht auf der Vorhersage gilt
Sie verwenden tf.nn.softmax_cross_entropy_with_logits
Denn ich weiß, ist diese Funktion anwenden softmax zu prediction vor Compute Kreuzentropie
Aber es nicht den Wert von prediction

ändern denke ich, Sie schließlich softmax dann Kreuzentropie berechnen, prediction direkt drucken können tun (es bedeutet nicht tf.nn.softmax_cross_entropy_with_logits verwenden)

oder, ändern sie nichts, aber softMax vor Druck prediction

+0

Danke, ich habe versucht "" "classification = tf.nn.softmax (prediction.eval (feed_dict = {x: [[9,3]]}))" "mit produziertem Tensor (" Softmax : 0 ", shape = (1, 2), dtype = float32)" "Ich glaube nicht, dass ich danach suche, aber ich bin mir nicht sicher. –

+0

Ich denke, es wird 'result = tf.nn.softmax (Vorhersage)' dann 'print result.eval (feed_dict = {x: [[9,3]]})' – xxi

+0

ja, das funktioniert. Danke!!! –