Google Cloud ML Engine не удается создать версию модели типа "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
где input.json содержит:
{"b64": "изображение в кодировке base64 png"}
Когда я пытаюсь создать версию модели на 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
и как я могу получить более подробную информацию об ошибке?
Создание версии модели на ml-engine с использованием экспортированной модели с input_type=image_tensor
работает отлично.
1 ответ
Можете ли вы проверить, что вы экспортируете модель с tenorflow 1.2?
Локальный прогноз gcloud ml-engine не имеет флага --runtime-version, поэтому, если у вас установлена и экспортирована модель TF 1.3, локальный прогноз будет работать с использованием TF 1.3, но в модели могут быть несовместимости, если пытаясь использовать TF 1.2 на сервисе.