Wie speichere ich ein trainiertes Tensorflow-Modell für die spätere Anwendung?

8

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.

    
Johsm 28.07.2016, 16:23
quelle

3 Antworten

6

Versuchen Sie es in docs das:

%Vor%

Sie können den Pfad angeben.

Und wenn Sie das Modell wiederherstellen möchten, versuchen Sie:

%Vor%     
Alexander Yau 22.12.2016 01:28
quelle
3

Grafik im Tensorflow speichern:

%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

  • wiederhergestellt werden
  • 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

  • wiederherstellen
  • 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

  • abschalten

2) Prüfpunktdateien

.data datei:

  • Binärdatei, die VALUES aller gespeicherten Variablen enthält, die in tf.train.Saver() (Standard ist alle Variablen)
  • dargestellt sind

.index datei:

  • unveränderliche Tabelle, die alle Tensoren und ihre Metadatenprüfpunktdatei beschreibt:

  • speichert die zuletzt gespeicherten Prüfpunktdateien

Wiederherstellen des Graphen in Tensorflow:

%Vor%

Dies ist nur ein kurzes Beispiel mit den Grundlagen, für eine funktionierende Implementierung siehe hier .

    
Soph 16.10.2017 23:02
quelle
1

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%     
Ayush Bihani 06.07.2017 11:30
quelle

Tags und Links