Google Cloud ML Engine 无法创建类型 'encoded_image_string_tensor' 的模型版本
Google Cloud ML Engine fails to create model version of type 'encoded_image_string_tensor'
我在 ML Engine 上训练了一个对象检测模型并通过调用将其导出:
python object_detection/export_inference_graph.py \
--input_type encoded_image_string_tensor ....
然后我通过调用在本地成功测试了预测:
gcloud ml-engine local predict --model-dir ../saved_model --json-instances=inputs.json --runtime-version=1.2
其中 inputs.json 包含:
{"b64": "base64 encoded png image"}
当我尝试使用以下命令在 ML Engine 上创建模型版本时:
gcloud ml-engine versions create ${YOUR_VERSION} --model ${YOUR_MODEL} --origin=${YOUR_GCS_BUCKET}/saved_model --runtime-version=1.2
失败并显示以下消息:
ERROR: (gcloud.ml-engine.versions.create) Bad model detected with error: "Error loading the model: Could not load model. "
ML Engine 不支持 input_type=encoded_image_string_tensor
的模型版本吗?我如何获得有关该错误的更多详细信息?
使用带 input_type=image_tensor
的导出模型在 ml-engine 上创建模型版本工作正常。
您能否确认您正在使用 tensorflow 1.2 导出模型?
gcloud ml-engine local predict 没有 --runtime-version 标志,所以如果你安装了 TF 1.3 并用它导出你的模型,那么 local predict 可以使用 TF 1.3,但可能有尝试在服务上使用 TF 1.2 时模型不兼容。
我在 ML Engine 上训练了一个对象检测模型并通过调用将其导出:
python object_detection/export_inference_graph.py \
--input_type encoded_image_string_tensor ....
然后我通过调用在本地成功测试了预测:
gcloud ml-engine local predict --model-dir ../saved_model --json-instances=inputs.json --runtime-version=1.2
其中 inputs.json 包含:
{"b64": "base64 encoded png image"}
当我尝试使用以下命令在 ML Engine 上创建模型版本时:
gcloud ml-engine versions create ${YOUR_VERSION} --model ${YOUR_MODEL} --origin=${YOUR_GCS_BUCKET}/saved_model --runtime-version=1.2
失败并显示以下消息:
ERROR: (gcloud.ml-engine.versions.create) Bad model detected with error: "Error loading the model: Could not load model. "
ML Engine 不支持 input_type=encoded_image_string_tensor
的模型版本吗?我如何获得有关该错误的更多详细信息?
使用带 input_type=image_tensor
的导出模型在 ml-engine 上创建模型版本工作正常。
您能否确认您正在使用 tensorflow 1.2 导出模型?
gcloud ml-engine local predict 没有 --runtime-version 标志,所以如果你安装了 TF 1.3 并用它导出你的模型,那么 local predict 可以使用 TF 1.3,但可能有尝试在服务上使用 TF 1.2 时模型不兼容。