0

我目前正在关注训练和导出 TensorFlow 模型

model_exporter = exporter.Exporter(saver)
...
model_exporter.export(...)

它为每个步骤产生:

  173 Nov 26 17:26 checkpoint
  31M Nov 26 17:26 export-00000-of-00001
 1.5M Nov 26 17:26 export.meta

如何获取这些文件并创建冻结模型(例如使用freeze_graph.py)?

看起来freeze_graph.py想要一个GraphDef,但我只有一个MetaGraph文件。我需要先提取这个吗?

export-00000-of-00001文件可以用于“要加载的 TensorFlow 变量文件”吗?

尝试冻结模型时,我应该通过其他任何标志吗?

4

1 回答 1

0

这似乎对我有用:

from tensorflow.python.framework import graph_util
from tensorflow.contrib.session_bundle import session_bundle
import tensorflow as tf

export_dir = '/tf_files/00000170/'
output_graph = '/tf_files/00000170/frozen.pb'
clear_devices = True

sess, meta_graph_def = session_bundle.load_session_bundle_from_path(export_dir)

input_graph_def = meta_graph_def.graph_def
if clear_devices:
    for node in input_graph_def.node:
        node.device = ''

output_graph_def = graph_util.convert_variables_to_constants(sess, input_graph_def, ['flatten5/Reshape'])

with tf.gfile.GFile(output_graph, "wb") as f:
    f.write(output_graph_def.SerializeToString())
于 2016-11-28T16:12:01.807 回答