Unterschied zwischen Tensorflow Grafik und GraphDef
Ich bin ziemlich neu in der tensorflow. Ich würde gerne verstehen, konzeptionellen Unterschied zwischen Graph und GraphDef.
außerdem, was sollte ich ausführen, um eine Grafik geladen von protobuf-Datei (.pb)?
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Graph
oderComputional Graph
ist das Kern-Konzept der tensorflow zu präsentieren Berechnung. Wenn Sie tensorflow Sie zunächst erstellen Sie eigeneComputation Graph
und übergeben Sie dieGraph
zu tensorflow. Wie macht man das? Wie Sie vielleicht wissen, tensorflow unterstützen viele front-end-Programmierung-Sprachen, wie Python, C++, Java und Gehen und die core-Sprache ist C++; wie machen das andere Sprachen transformieren dieGraph
zu C++? Sie verwenden ein tool namensprotobuf
generieren kann bestimmte Sprache stubs, das ist, wo dieGraphDef
kommen. Es ist eine serialisierte version derGraph
.Sollten Sie Lesen Ihre
*pb
- Datei mitGraphDef
undbind
dieGraphDef
zu einer (Standard -)Graph
, dann verwenden Sie eine Sitzung zum ausführen derGraph
für die Berechnung, wie die folgenden code:GraphDef ist die proto definiert hier. Dies ist die serialisierte version der Grafik. Sie können drucken, speichern oder wiederherstellen eines GraphDef in jedem TensorFlow frontend (Python, R, C++, Java, ...). Wenn es eine Datei gespeichert, in der Regel der name der Datei endet mit
.pb
, so dass Sie verwenden sollten, GraphDef für.pb
- Dateien.Graph ist ein abstraktes Konzept, das sich in verschiedenen Formen für verschiedene frontends. Für Python, tf.Graph() zurückgeben würde ein Python-Objekt ( code ), enthält die GraphDef und viele utilities.
Für python, laden Sie einen GraphDef mit tf.import_graph_def. Hier ein einfaches code-Beispiel: