【问题标题】:Deploy a model on ml-engine, exporting with tf.train.Saver()在 ml-engine 上部署模型,使用 tf.train.Saver() 导出
【发布时间】:2017-03-28 07:26:14
【问题描述】:

我想在新版 Google ML Engine 上部署模型。 以前,使用 Google ML,我可以导出经过训练的模型,创建一个 tf.train.Saver(),并使用 saver.save(session, output) 保存模型。

到目前为止,我无法确定以这种方式获得的导出模型是否仍可在 ml-engine 上部署,否则我必须遵循here 描述的训练过程并创建一个新的训练包并进行训练我使用 ml-engine 的模型。

我仍然可以使用tf.train.Saver() 来获取我将在 ml-engine 上部署的模型吗?

【问题讨论】:

    标签: google-cloud-platform google-cloud-ml-engine


    【解决方案1】:

    tf.train.Saver() 只产生一个检查点。

    Cloud ML Engine 使用由以下 API 生成的 SavedModel:https://www.tensorflow.org/versions/master/api_docs/python/tf/saved_model?hl=bn

    保存的模型是一个检查点 + 一个包含一个或多个图形定义的序列化 protobuf + 一组声明图形/模型的输入和输出的签名 + 附加资产文件(如果适用),因此所有这些都可以在服务时间。

    我建议看几个例子:

    1. 人口普查样本 - https://github.com/GoogleCloudPlatform/cloudml-samples/blob/master/census/tensorflowcore/trainer/task.py#L334

    2. 还有我自己的示例/库代码 - https://github.com/TensorLab/tensorfx/blob/master/src/training/_hooks.py#L208 调用 https://github.com/TensorLab/tensorfx/blob/master/src/prediction/_model.py#L66 来演示如何使用检查点,将其加载到会话中,然后生成保存的模型。

    希望这些指针有助于调整您现有的代码以生成模型以现在生成 SavedModel。

    我想你还问了另一个类似的问题来转换以前导出的模型,我会在这里链接到它以供其他人使用:Deploy retrained inception SavedModel to google cloud ml engine

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-13
      • 2018-10-03
      • 2020-08-23
      • 2023-03-31
      • 2019-11-25
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      相关资源
      最近更新 更多