Ich habe ein großes Modell in Tensorflow Python ausgeführt. Aber ich habe es nicht in der Sitzung gespeichert. Jetzt, wo das Training vorbei ist, möchte ich die Variablen speichern. Ich mache folgendes:Speichern des Tensorflow-Modells nach dem Training ist abgeschlossen
saver=tf.train.Saver()
with tf.Session(graph=graph) as sess:
save_path = saver.save(sess, "86_model.ckpt")
print("Model saved in file: %s" % save_path)
Dies gibt zurück: ValueError: Keine Variablen zu speichern. Laut ihrer Website fehlt es an initialize_all_variables(). Die Dokumentation sagt wenig darüber aus, was genau das tut. Das Wort "initialisieren" macht mir Angst, ich möchte nicht alle meine trainierten Werte zurücksetzen. Kann ich mein Modell speichern, ohne es erneut auszuführen?
'saver.save' speichert alles in' tf.get_collection (tf.GraphKeys.VARIABLES) '. Das ist eine Sammlung, die jedes Mal aktualisiert wird, wenn Sie eine Variable mit 'tf.Variable' oder' tf.get_variable' erstellen. Wie haben Sie Ihre Variablen erstellt? –
Cool, danke zur Verdeutlichung, ich habe alle meine Variablen in einem Graph erstellt und dieses Netzwerk über 100K Iterationen trainiert, habe meinen Testfehler bekommen und die Sitzung ist geschlossen. Ich habe meine Variablen mit tf.Variable() erstellt. Ich möchte auf diese trainierten Variablen zugreifen und sie speichern, aber ich möchte nicht initialisieren, da ich davon ausgehe, dass meine trainierten Variablen zurückgesetzt werden. Ich folge Udacitys Kurs als Referenz. – plumSemPy
Ja, wenn Sie die Sitzung schließen, verlieren Sie die Variablen –