【问题标题】:Freezing Tensorflow Model Saved by session_bundle.exportersession_bundle.exporter 保存的冻结 TensorFlow 模型
【发布时间】:2016-11-28 15:27:34
【问题描述】:

我目前关注Train And Export TensorFlow Model

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 变量文件”?

在尝试冻结模型时我应该传递其他标志吗?

【问题讨论】:

    标签: tensorflow tensorflow-serving


    【解决方案1】:

    这似乎对我有用:

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

    【讨论】:

    • session_bundle.load_session_bundle_from_path 能否加载使用tf.saved_model.builder.SavedModelBuilder 导出的模型?
    猜你喜欢
    • 1970-01-01
    • 2018-11-08
    • 2018-10-27
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多