Exportieren von Tensorflow-Graphen aus Python zur Verwendung in C ++

8

Wie sollten Python-Modelle für die Verwendung in C ++ exportiert werden?

Ich versuche, etwas Ähnliches wie dieses Tutorial zu machen: Ссылка

Ich versuche, mein eigenes TF-Modell in die C ++ - API zu importieren, anstatt es zu erstellen. Ich habe die Eingabegröße und die Pfade angepasst, aber seltsame Fehler tauchen immer wieder auf. Ich verbrachte den ganzen Tag damit, Stapelüberläufe und andere Foren zu lesen, aber ohne Erfolg.

Ich habe zwei Methoden zum Exportieren des Graphen ausprobiert.

Methode 1: Metagraph.

%Vor%

Methode 1 gibt den folgenden Fehler beim Ausführen des Programms:

%Vor%

Ich habe auch eine andere Methode zum Exportieren des Graphen ausprobiert:

Methode 2: write_graph:

%Vor%

Diese Version scheint tatsächlich etwas zu laden, aber ich bekomme einen Fehler, wenn Variablen nicht initialisiert werden:

%Vor%     
Sander 17.04.2016, 22:18
quelle

1 Antwort

0

Zuerst müssen Sie die Definition in eine Datei umwandeln, indem Sie folgenden Befehl verwenden

%Vor%

Speichern Sie dann Ihr Modell mit dem Speichermodul

%Vor%

Dann haben Sie 2 Dateien an Ihrer Ausgabe, mymodel.ckpt, mymodel.pb

Laden Sie freeze_graph.py von hier herunter und führen Sie den folgenden Befehl aus C: \ Ausgabe \. Ändern Sie den Namen des Ausgabeknotens, wenn dieser für Sie anders ist.

  

python freeze_graph.py --putputgraph mymodel.pb --input_checkpoint mymodel.ckpt --output_node_names softmax / Reshape_1 --output_graph mymodelforc.pb

Sie können mymodelforc.pb direkt von C verwenden.

Sie können den folgenden C-Code verwenden, um die Proto-Datei zu laden

%Vor%

Jetzt können Sie die Sitzung für die Inferenz verwenden.

Sie können den Inferenzparameter wie folgt anwenden:

%Vor%     
Deniz Beker 28.11.2017 04:00
quelle