Tensorflow Summary: 查看Tensorflow Model pb格式模型的信息
參考文鏈:如何查看Tensorflow SavedModel格式模型的信息;
參考:summary方法--小酒窩的博客;
參考:tensorflow中輸出參數的方法--詳細;
tensorflow生成的pb圖,netron嫌棄太大打不開, 因此需要借助于tensorboard查看工具;
?
0.查看模型的Signature簽名
這里的簽名,并非是為了保證模型不被修改的那種電子簽名。我的理解是類似于編程語言中模塊的輸入輸出信息,比如函數名,輸入參數類型,輸出參數類型等等。我們以《Tensorflow SavedModel模型的保存與加載》里的代碼為例,從語句:
signature = predict_signature_def(inputs={'myInput': x},
????????????????????????????????? outputs={'myOutput': y})
我們可以看到模型的輸入名為myInput,輸出名為myOutput。如果我們沒有源碼呢?
Tensorflow提供了一個工具,如果你下載了Tensorflow的源碼,可以找到這樣一個文件,./tensorflow/python/tools/saved_model_cli.py,你可以加上-h參數查看該腳本的幫助信息:
command:
python $TENSORFLOW_DIR/tensorflow/python/tools/saved_model_cli.py show --dir ./model/ --all1.使用summary
def load_pb_kera(self,pb_file_path):from tensorflow.python.platform import gfilesess = tf.Session()#with gfile.FastGFile(pb_file_path + 'model.pb', 'rb') as f:with gfile.FastGFile(pb_file_path, 'rb') as f:graph_def = tf.GraphDef()graph_def.ParseFromString(f.read())sess.graph.as_default()tf.import_graph_def(graph_def, name='') # 導入計算圖# 需要有一個初始化的過程#sess.run(tf.global_variables_initializer())init = tf.global_variables_initializer()sess.run(init)#tf.summary.LOGDIR = './logdir'train_writer = tf.summary.FileWriter(LOGDIR)train_writer.add_graph(sess.graph)train_writer.flush()train_writer.close()summary寫入工程文件的"./logdir"目錄下,生成諸如:events.out.tfevents.1557229671.wishchin-MS-1604 文件
進入工程目錄,
bash:
$ tensorboard --logdir ./logdir
啟動了tensorboard服務
?
2.在瀏覽器中查看結構
打開chorme瀏覽器,在地址欄輸入:http://localhost:6006;? 個人建議使用火狐.
即可完成可視化
查看得MaskRCNN 模型
frozen_inference_graph_incepV2.pb的輸入參數為:
input_image
Operation:?Placeholder
Attributes (2)
dtype? {"type":"DT_FLOAT"}
shape {"shape":{"dim":[{"size":-1},{"size":224},{"size":224},{"size":3}]}}
Inputs (0)
Outputs (1)
bbn_stage1_block1_conv/convolution?×224×224×3
輸入節點在最下面的數據流的起點位置....
?
?
總結
以上是生活随笔為你收集整理的Tensorflow Summary: 查看Tensorflow Model pb格式模型的信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里巴巴代发什么意思
- 下一篇: 使用Python轻松批量压缩图片