我已经使用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
知道我做错了什么/如何解决?
谢谢!
答案 0 :(得分:0)
对于后代:问题出在路径上。如果其他人遇到此问题,请尝试使用完整的绝对路径,并确保您指向包含saved_model.pb
文件的目录。