2016-11-28 98 views
0

保存我目前以下Train And Export TensorFlow Model冻结Tensorflow模型的session_bundle.exporter

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 

我怎样把这些文件并创建一个frozen model(例如通过使用freeze_graph.py)?

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

export-00000-of-00001文件是否可用于“TensorFlow变量文件加载”?

当试图冻结模型时,是否还有其他标志应该通过?

回答

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()) 
+0

将'session_bundle.load_session_bundle_from_path'能够加载已使用'tf.saved_model.builder.SavedModelBuilder'导出的模型? – Abhisek