- 代碼:
查看pb模型的graph的所有層的名稱,代碼如下:
get_all_layernames.py:
import os, sys
from tensorflow.python.platform import gfile
import tensorflow as tf
def get_all_layernames(pb_file_path):
#get all layers name
sess = tf.Session()
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='')
tensor_name_list = [tensor.name for tensor in tf.get_default_graph().as_graph_def().node]
for tensor_name in tensor_name_list:
print(tensor_name)
if __name__ == '__main__':
if len(sys.argv) == 2:
get_all_layernames(sys.argv[1])
-
測試
1、下載訓練好的pb文件:
http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz2、解壓得到pb文件:classify_image_graph_def.pb
3、測試
python get_all_layernames.py classify_image_graph_def.pb
輸出:
DecodeJpeg/contents
DecodeJpeg
Cast
ExpandDims/dim
ExpandDims
ResizeBilinear/size
ResizeBilinear
Sub/y
Sub
Mul/y
Mul
conv/conv2d_params
conv/Conv2D
......
pool_3
pool_3/_reshape/shape
pool_3/_reshape
softmax/weights
softmax/biases
softmax/logits/MatMul
softmax/logits
softmax