Es sieht aus wie Sie einen konzeptionellen Aspekt tensorflow fehlen. Lassen Sie mich zunächst mit einem Codebeispiel Import tensorflow starten als tf
x = tf.constant(35, name='x')
y = tf.Variable(5, name='y')
add = tf.add(x,y)
update = tf.assign(y,add)
model = tf.initialize_all_variables()
with tf.Session() as session:
session.run(model)
print(session.run(y))
print(session.run([add,y]))
print(session.run([update,y]))
print(session.run([update,y]))
Dies wird die folgende
5
40 5
40 40
75 75
So drucken, was los ist? Erstens, x und y sind nicht 35 und 5. Sie sind Tensorflow-Objekte, die Daten enthalten und mit dem Tensorflow-Graph interagieren können. x ist eine Konstante und liefert dem Diagramm den Wert 35, wenn es von Tensorflow angefordert wird. Es ist jedoch nicht gleich 35. y ist eine Variable, der beim Ausführen ein Wert zugewiesen und durch Tensorflow aktualisiert werden kann.
In Ihrem Beispiel setzen Sie den Wert von y auf eine Variable mit einem Anfangswert von x + 5, aber x ist nicht 35. x ist ein Tensorflow-Objekt.
Im obigen Beispiel weisen wir der Variablen y den Wert 5 zu. Wenn wir die Sitzung ausführen und den Wert von y erhalten, ist es 5. Wenn wir den Wert von add erhalten, ist es 35 + 5, aber y hat sich nicht geändert. Wenn wir update ausführen, finden wir, dass der Wert von y wurde auf 40 aktualisiert. Schließlich, wenn wir wieder aktualisieren wir sehen, dass y wurde wieder um 35 erhöht und ist jetzt 75.
Ich hoffe, dies erklärt den Unterschied zwischen klassischen Python-Variablen und -Konstanten und Tensorflow-Variablen und -Konstanten.
Ich kann Ihr Problem nicht reproduzieren --- Ihr Code funktioniert für mich und druckt "40". Verwenden Sie zufällig eine interaktive Python-Umgebung? Wenn ja, versuchen Sie vielleicht, Python neu zu starten? –
Nein, ich benutze keine interaktive Python-Umgebung, ich benutze 'Sublime' als Kern-Editor, abgesehen davon gibt es nichts anderes. Ich habe die Datei als 'tensor_test.py' gespeichert und starte sie im Terminal mit dem Basisbefehl 'python tensor_test.py' während die Tensorquelle aktiv ist. –