2016-08-14 6 views
2

Tensorflow ermöglicht es uns, die Struktur des Modells unter Verwendung der Methode tf.train.write_graph zu speichern/zu laden, so dass wir es in Zukunft wiederherstellen können, um unsere Trainingseinheit fortzusetzen. Ich frage mich jedoch, ob dies erforderlich ist, weil ich ein Modul erstellen kann, z. B. GraphDefinition.py, und dieses Modul zum erneuten Erstellen des Modells verwenden kann. Also, was ist der bessere Weg, um die Modellstruktur zu speichern, oder gibt es eine Faustregel, die angibt, welchen Weg ich beim Speichern eines Modells verwenden soll?Modell in Tensorflow speichern

+0

Können Sie ein Codebeispiel angeben? Oder weitere Informationen? Ich verstehe nicht, warum das Erstellen eines Moduls wichtig ist, um die Gewichte eines TensorFlow-Modells zu speichern. Sie können immer den gesamten Graphen speichern (auf die Größe schauend, gibt es einige Overhead, denke ich) oder spezifizieren, welche Gewichtungen gespeichert werden sollten. Trotz des verwendeten Speichers gibt es keinen großen Unterschied. – daniel451

Antwort

3

Zuerst müssen Sie verstehen, dass Tensorflow Graph keine aktuellen Gewichte enthält (bis Sie sie dort manuell speichern) und wenn Sie die Modellstruktur aus graph.pb laden, starten Sie von Anfang an . Wenn Sie jedoch weiter trainieren oder Ihr trainiertes Modell verwenden möchten, müssen Sie den Prüfpunkt (mit tf Saver) mit den Werten der darin enthaltenen Variablen speichern, nicht nur die Struktur. Sehen Sie sich dieses Profil an: Tensorflow: How to restore a previously saved model (python)

+0

Ja. Ich verstehe, dass ich tf.Saver verwenden muss, um das Gewicht zu sparen. Was ich nicht bekommen konnte ist, dass es notwendig ist, die Modellstruktur in der graph.pb zu speichern und den Graphen aus dieser Datei neu zu laden oder sollte ich den Graphen selbst erstellen? – user3425082

+0

Sie sollten die gleichen Namen (nicht Python \ C++ Namen, aber tf, dh: a = tf.Variable (Wert, Name = 'definieren-tf-Name-hier'))) für wichtige Ops und Variablen in Grafik und Checkpoint Datei, um Werte korrekt zu laden, aber wie Sie das bekommen - liegt ganz bei Ihnen. Das Speichern und Wiederherstellen der Grafikdefinitionsdatei oder das erneute Erstellen der Grafikdefinitionsdatei mit Code funktioniert. –

Verwandte Themen