固化模型
方法一:freeze_graph方法
把tf.train.write_graph()
生成的pb文件与tf.train.saver()
生成的chkp文件固化之后重新生成一个pb文件
with tf.Session() as sess: saver = tf.train.Saver() saver.save(session, "model.ckpt") tf.train.write_graph(session.graph_def, '', 'graph.pb')
需要工具freeze_graph
bazel build tensorflow/python/tools:freeze_graph 之后
bazel-bin/tensorflow/python/tools/freeze_graph --input_graph=/path/to/graph.pb --input_checkpoint=/path/to/model.ckpt --output_node_names=output/predict --output_graph=/path/to/frozen.pb
方法二:convert_variables_to_constants
把变量转成常量之后写入PB文件中
constant_graph = graph_util.convert_variables_to_constants(sess,sess.graph_def, ["y"]) with tf.gfile.FastGFile('model/minst.pb', mode='wb') as f: f.write(constant_graph.SerializeToString())
引文:https://www.jianshu.com/p/091415b114e2