【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就可以可视化你的网络结构了。

你可能感兴趣的:(TensorFlow)