我想在新版Google ML Engine上部署模型。
以前,使用Google ML,我可以导出我训练过的模型,创建saver.save(session, output)
,并使用tf.train.Saver()
保存模型。
到目前为止,我还无法确定以这种方式获得的导出模型是否仍可在ml-engine上部署,否则我必须遵循here所述的培训程序并创建新培训师包装并且必须使用ml-engine训练我的模型。
我仍然可以使用{{1}}来获取我将在ml-engine上部署的模型吗?
答案 0 :(得分:4)
tf.train.Saver()只生成一个检查点。
Cloud ML Engine使用从这些API生成的SavedModel:https://www.tensorflow.org/versions/master/api_docs/python/tf/saved_model?hl=bn
保存的模型是检查点+包含一个或多个图形定义的序列化protobuf +一组签名,声明图形/模型的输入和输出+其他资产文件(如果适用),以便所有这些都可用于服务时间。
我建议看几个例子:
我自己的示例/库代码 - 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