Ich möchte ein Tensorflow-Diagramm in einer separaten Funktion get_graph()
erstellen, und eine einfache ops a
in der Hauptfunktion ausdrucken. Es stellt sich heraus, dass ich den Wert a
ausdrucken kann, wenn ich a
von get_graph()
zurückgebe. Wenn ich jedoch get_operation_by_name()
verwende, um a
abzurufen, wird None ausgedruckt. Ich frage mich, was ich hier falsch gemacht habe? Irgendwelche Vorschläge, um es zu beheben? Vielen Dank!Wie verwendet man get_operation_by_name() in Tensorflow, aus einem Graphen, der aus einer anderen Funktion aufgebaut ist?
import tensorflow as tf
def get_graph():
graph = tf.Graph()
with graph.as_default():
a = tf.constant(5.0, name='a')
return graph, a
if __name__ == '__main__':
graph, a = get_graph()
with tf.Session(graph=graph) as sess:
print(sess.run(a))
a = sess.graph.get_operation_by_name('a')
print(sess.run(a))
es ausdruckt
5.0
None
P. S. Ich benutze Python 3.4 und Tensorflow 1.2.
vielen Dank für die Klarstellung! Ich habe auch gelernt, dass ich dasselbe mit a = sess.graph.get_operation_by_name ('a') 'und' sess.run (a.outputs.pop()) 'ausdrucken kann – pohe