1. 程式人生 > >【Tensorflow】如何有效的檢視已有的pb模型檔案?

【Tensorflow】如何有效的檢視已有的pb模型檔案?

一種簡單的辦法是直接開啟(然後卻是一堆二進位制)。

重新載入模型檔案,並輸出定義

model = 'model.pb'
with tf.Session() as sess:
    with open(model, 'rb') as model_file:
        graph_def = tf.GraphDef()
        graph_def.ParseFromString(f.read())
        print(graph_def)

採用上述的方式可以在新的會話中重新載入本地的模型檔案(pb),然後二進位制解析後,輸出可以看到結果。但是如果網路層結構十分複雜,那麼這種顯示方式就會比較難以閱讀。

重新載入模型檔案,並使用Tensorboard進行視覺化處理

from tensorflow.python.platform import gfile
model = 'model.pb'
graph = tf.get_default_graph()
graph_def = graph.as_graph_def()
graph_def.ParseFromString(gfile.FastGFile(model, 'rb').read())
tf.import_graph_def(graph_def, name='graph')
summaryWriter = tf.summary.FileWriter('log/'
, graph)

然後會在你的log資料夾下面生成檔案。在終端中執行

tensorboard --logdir DIR --host IP --port PORT

一般情況下,不設定hostport,就會在localhost:6006啟動。DIR是路徑(不加引號)。

上面的例子:

tensorboard --logdir log

然後在瀏覽器中訪問localhost:6006就可以視覺化你的網路結構了。