【发布时间】:2018-10-23 01:11:21
【问题描述】:
我已经使用 tf.data.Dataset API 训练了一个 Keras 模型,并试图查看我是否正确保存了它(如 saved_model.pb),以便我可以在 ML Engine 上使用它。这是我所做的:
estimator = tf.keras.estimator.model_to_estimator(my_model)
# create serving function...
estimator.export_savedmodel('./export', serving_fn)
所以现在我正在尝试使用gcloud ml-engine local predict 来查看是否可以得到预测。我在做:
gcloud ml-engine local predict --model-dir=~/path/to/folder --json-instances=instances.json
不幸的是,我得到:
cloud.ml.prediction.prediction_utils.PredictionError: Failed to load model: Cloud ML only supports TF 1.0 or above and models saved in SavedModel format. (Error code: 0)
然后我尝试将--runtime-version=1.2 添加到我的命令中,如下所示:
gcloud ml-engine local predict --model-dir=~/path/to/folder --json-instances=instances.json --runtime-version=1.2
我回来了:
ERROR: (gcloud.ml-engine.local.predict) unrecognized arguments: --runtime-version=1.2
知道我做错了什么/如何解决吗?
谢谢!
【问题讨论】:
-
你能发布
saved_model_cli show --all --dir /path/to/folder的输出吗? -
@rhaertel80 嗯,我找回了
IOError: SavedModel file does not exist at: path/to/folder,这有点奇怪,因为我可以看到saved_model.pb就在那里? -
这很奇怪。您指向的是
saved_model.pb的父目录,对吧?文件夹里还有什么? -
这是一个您愿意私下与我分享的模型吗?如果是这样,您可以发送电子邮件至 cloudml-feedback@google.com 吗?
-
~/path/to/folder 有没有可能是错误的?来自 gcloud local predict 和 saved_model_cli 的错误消息都表明了这一点。仔细检查路径。也许您需要指向父目录或子目录。考虑使用完整的绝对路径来摆脱 ~.
标签: tensorflow keras google-cloud-platform google-cloud-ml