通过导出器和 tf.train.write_graph() 保存模型之间的 tensorflow 差异? [英] tensorflow difference between saving model via exporter and tf.train.write_graph()?

查看:35
本文介绍了通过导出器和 tf.train.write_graph() 保存模型之间的 tensorflow 差异?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过以下方式保存模型有什么区别

What is difference between saving a model by

  1. 使用 tensorflow 服务中指定的导出器:

例如:

from tensorflow.contrib.session_bundle import exporter
#from tensorflow_serving.session_bundle import exporter
saver = tf.train.Saver(sharded=True)
model_exporter = exporter.Exporter(saver)
model_exporter.init(
        sess.graph.as_graph_def(),
        named_graph_signatures={
            'inputs': exporter.generic_signature({'images': x}),
            'outputs': exporter.generic_signature({'scores': y})})
model_exporter.export(export_path, tf.constant(FLAGS.export_version), sess) 

  1. 直接使用 tf.train.write_graph() 和 tf.train.Saver():

例如:

with sess.graph.as_default():
    saver = tf.train.Saver()
    saver.save(sess, path, meta_graph_suffix='meta', write_meta_graph=True)

问题是 TensorFlow 保存到/加载来自文件的图表

推荐答案

鉴于 Exporter 现已正式弃用,用于保存图形和数据的新协议将使用 Saver.这是一个带有示例代码的优秀博客:https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc.

Given the Exporter is now officially deprecated, the new protocol for saving graph and data is to use Saver. Here is an excellent blog with sample code: https://blog.metaflow.fr/tensorflow-how-to-freeze-a-model-and-serve-it-with-a-python-api-d4f3596b3adc.

这篇关于通过导出器和 tf.train.write_graph() 保存模型之间的 tensorflow 差异?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆