Ich habe 2 Dateien, learn.py um das Modell zu speichern, learn_2.py um das Modell wiederherzustellen (hier ist die tf.variable a) und initialisiere das neue tf.variable b, aber etwas schief geht, ist hier das falsche:Wie man eine Teilmenge der von einem Modell im Tensorflow verwendeten Variablen wiederherstellt
tensorflow.python.framework.errors_impl.NotFoundError: Key scope/bb not found in checkpoint
learn.py
import tensorflow as tf
with tf.variable_scope("scope"):
a = tf.get_variable("aa", shape=[2,4])
sess = tf.Session()
#sess.run(tf.global_variables_initializer())
sess.run(tf.initialize_variables([a]))
saver = tf.train.Saver()
save_path = saver.save(sess, "./tmp/model.ckpt")
print "---"
print sess.run(a)
learn_2.py
import tensorflow as tf
with tf.variable_scope("scope"):
a = tf.get_variable("aa", shape=[2,4])
b = tf.get_variable("bb", shape=[2,4])
sess = tf.Session()
#sess.run(tf.global_variables_initializer())
#sess.run(tf.initialize_variables([b]))
saver = tf.train.Saver()
save_path = saver.restore(sess, "./tmp/model.ckpt")
sess.run(tf.initialize_variables([b]))
print "---"
print sess.run(a)
print sess.run(b)
Welche Zeile gibt diesen Fehler? Funktioniert es, wenn Sie den Graph laden, bevor Sie vvariable b erstellen und initialisieren? Wenn ja, ist es ein Problem für Sie, die Dinge in dieser Reihenfolge zu tun? – gdelab
@gdelab in der Zeile 10 (save_path = saver.restore (sess, "./tmp/model.ckpt")), kein mater zuerst das Diagramm erstellen oder altes Modell zuerst wiederherstellen, es hat immer das Problem –
Werfen Sie einen Blick auf Dieses Beispiel (zeigt das Speichern und Wiederherstellen von Variablen): http://stackoverflow.com/questions/43983528/how-do-i-store-and-rebuild-and-dictionary-of-weights-in-tensorflow/43988865#43988865 – hars