首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在tensorflow会话中保存tf.contrib.learn宽而深的模型并将其服务于TensorFlow服务

无法在tensorflow会话中保存tf.contrib.learn宽而深的模型并将其服务于TensorFlow服务
EN

Stack Overflow用户
提问于 2016-11-07 16:48:31
回答 3查看 347关注 0票数 3

我正在TensorFlow服务中运行TensorFlow广泛而深入的模型,并导出经过训练的模型,我使用的是代码段

代码语言:javascript
运行
复制
 with tf.Session() as sess:
      init_op = tf.initialize_all_variables()
      saver = tf.train.Saver()
      m.fit(input_fn=lambda: input_fn(df_train), steps=FLAGS.train_steps)
      print('model successfully fit!!')
      results = m.evaluate(input_fn=lambda: input_fn(df_test), steps=1)
      for key in sorted(results):
        print("%s: %s" % (key, results[key]))
      model_exporter = exporter.Exporter(saver)
      model_exporter.init(
      sess.graph.as_graph_def(),
      init_op=init_op,
      named_graph_signatures={
          'inputs': exporter.generic_signature({'input':df_train}),
          'outputs': exporter.generic_signature({'output':df_train[impressionflag]})})
      model_exporter.export(export_path, tf.constant(FLAGS.export_version), sess)
      print ('Done exporting!')

但是,在使用命令saver = tf.train.Saver()时,错误ValueError: No variable to save is displayed 在这里输入图像描述

如何保存模型,以便在tensorflow标准服务器中加载导出模型时需要创建一个可服务的模型?任何帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-17 20:35:42

图表和会话包含在Estimator中,不公开或泄漏。因此,通过使用Estimator.export(),我们可以导出模型并创建一个可在model_servers上运行的servable。

票数 1
EN

Stack Overflow用户

发布于 2017-05-09 18:42:55

现在不推荐Estimator.export()了,所以您需要使用Estimator.export_savedmodel()

在这里,我编写了一个简单的教程TensorFlow Wide & Deep的导出和服务

TL;DR

要导出估计器,有四个步骤:

  1. 将用于导出的功能定义为在估值器初始化期间使用的所有功能的列表。
  2. 使用create_feature_spec_for_parsing创建一个特性配置。
  3. 构建一个适合于使用serving_input_fn服务的input_fn_utils.build_parsing_serving_input_fn
  4. 使用export_savedmodel()导出模型。

要正确运行客户端脚本,您需要执行以下三个步骤:

  1. 创建脚本并将其放置在/serving/文件夹中,例如/serving/tensorflow_serving/示例/
  2. 通过添加py_binary创建或修改相应的生成文件。
  3. 构建并运行模型服务器,例如tensorflow_model_server
  4. 创建、构建和运行一个将tf.Example发送到tensorflow_model_server以进行推理的客户端。

有关详细信息,请参阅教程本身。

希望能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2016-11-16 18:07:29

那么你的图有变量吗?如果没有,并且所有操作都使用常量,则可以在保护程序构造函数中指定一个标志。

saver = tf.train.Saver(allow_empty=True)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40470308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档