Ich bin ein bisschen Anfänger mit Tensorflow, also bitte entschuldigen Sie, wenn das eine dumme Frage ist und die Antwort ist offensichtlich.
Ich habe ein Tensorflow-Diagramm erstellt, bei dem ich ausgehend von Platzhaltern für X und y einige Tensoren optimiert habe, die mein Modell repräsentieren. Ein Teil des Graphen ist etwas, wo ein Vektor von Vorhersagen berechnet werden kann, z.B. für lineare Regression etwas wie
%Vor%Nachdem das Training abgeschlossen ist, habe ich akzeptable Werte für w und d und jetzt möchte ich mein Modell für später speichern. Dann möchte ich das Modell in einer anderen Python-Sitzung wiederherstellen, so dass ich es erneut ausführen kann
%Vor%für einige verschiedene Daten und erhalten Sie die y-Werte zurück.
Ich möchte, dass dies so funktioniert, dass das Diagramm zur Berechnung der y-Werte von den Platzhaltern ebenfalls gespeichert und wiederhergestellt wird. Solange die Platzhalter die richtigen Daten erhalten, sollte dies transparent ohne den Benutzer funktionieren (der wer wendet das Modell an und muss wissen, wie das Diagramm aussieht).
Soweit ich das verstehe, speichert tf.train.Saver (). save (..) nur die Variablen, möchte aber auch die Grafik speichern. Ich denke, dass tf.train.export_meta_graph könnte hier relevant sein, aber ich verstehe nicht, wie man es richtig verwendet, die Dokumentation ist ein wenig kryptisch zu mir und die Beispiele verwenden nicht einmal export_meta_graph irgendwo.
Versuchen Sie es in docs das:
%Vor%Sie können den Pfad angeben.
Und wenn Sie das Modell wiederherstellen möchten, versuchen Sie:
%Vor%Dies speichert die folgenden Dateien:
1) Meta-Diagramm
.meta
datei:
MetaGraphDef-Protokollpufferdarstellung von MetaGraph, die die vollständige Tf-Graph-Struktur speichert, d. h. die GraphDef, die den Datenfluss und alle damit verbundenen Metadaten beschreibt, z. alle Variablen, Operationen, Sammlungen usw.
Beim Importieren der Diagrammstruktur werden das Diagramm und alle seine Variablen neu erstellt. Anschließend können die entsprechenden Werte für diese Variablen aus der Prüfpunktdatei
Wenn Sie das Diagramm nicht wiederherstellen möchten, können Sie alle Informationen in MetaGraphDef rekonstruieren, indem Sie den Python-Code erneut ausführen, der das Modell n.b erstellt. Sie müssen die EXACT SAME-Variablen zuerst neu erstellen, bevor Sie ihre Werte vom Prüfpunkt
Da die Meta Graph-Datei nicht immer benötigt wird, können Sie das Schreiben der Datei in saver.save
mit write_meta_graph=False
2) Prüfpunktdateien
.data
datei:
tf.train.Saver()
(Standard ist alle Variablen) .index
datei:
unveränderliche Tabelle, die alle Tensoren und ihre Metadatenprüfpunktdatei beschreibt:
speichert die zuletzt gespeicherten Prüfpunktdateien
Dies ist nur ein kurzes Beispiel mit den Grundlagen, für eine funktionierende Implementierung siehe hier .
Um das Diagramm zu speichern, müssen Sie das Diagramm einfrieren. Hier ist das Python-Skript zum Einfrieren des Graphen: Ссылка
Hier ist ein Code-Snippet zum Einfrieren des Graphen:
%Vor%wobei der Ausgangsknoten der Ausgangstensorvariablen entspricht.
%Vor%Tags und Links tensorflow