4

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

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

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

4

1 回答 1

4

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

于 2017-03-27T23:26:14.680 回答