Soweit ich es verstehe, soll ich in der Lage sein, einen Druck Operator meine Grafik hinzufügen, indem Sie so etwas wie dies zu tun:Wie ordne ich einen tf.Print() -Knoten korrekt an meine Tensorflow-Grafik an?
a = nn_ops.softmax(s)
a = tf.Print(a, [tf.shape(a)], message="This is shape a: ")
und wenn der Graph ausgeführt wird dies sollte die Form a
drucken. Diese Anweisung erzeugt jedoch keine Ausgabe für mich (ich leite das Lernprogramm seq2seq tensorflow und dieses Softmax gehört zur Aufmerksamkeitsfunktion, also wird es definitiv ausgeführt).
ich tun Ausgang, wenn stattdessen ich so etwas tun:
ph = tf.placeholder(tf.float32, [3,4,5,6])
ts = tf.shape(ph)
tp = tf.Print(ts, [ts], message="PRINT=")
sess = tf.Session()
sess.run(tp)
jedoch in meinem realen Beispiel wird sess.run()
in seq2seq_model.py genannt, und wenn ich versuche, sess.run(a)
in der Aufmerksamkeit zu tun Funktion, tensorflow klagt:
You must feed a value for placeholder tensor 'encoder0' with dtype int32
aber ich habe keinen Zugriff auf den Eingangs-Feed an dieser Stelle im Code. Wie kann ich das beheben?