Google Cloud ML возвращает пустые прогнозы с моделью обнаружения объектов - PullRequest
0 голосов
/ 29 апреля 2018

Я впервые внедряю модель в Google Cloud ML. Я обучил и протестировал модель локально, и она все еще нуждается в работе, но она работает нормально.

Я загрузил его в Cloud ML и проверил на тех же самых образцах изображений, которые я тестирую локально, которые, как я знаю, получают обнаружения. (используя этот урок )

Когда я делаю это, я не получаю обнаружений. Сначала я подумал, что загрузил неправильную контрольную точку, но я проверял, и эта же контрольная точка работает с этими изображениями в автономном режиме, я не знаю, как отлаживать дальше.

Когда я смотрю на результаты файла

prediction.results-00000-оф-00001

просто пусто

и файл

prediction.errors_stats-00000-оф-00001

содержит следующий текст: («Объект JSON не может быть декодирован», 1)

Является ли это признаком того, что обнаружение запустилось и ничего не обнаружило, или есть какая-то проблема при запуске?

Может быть, проблема в том, что я неправильно подготавливаю изображения для загрузки?

В журналах вообще нет ошибок

Спасибо

EDIT:

Я проводил больше тестов и пытался запустить модель локально, используя команду «gcloud ml-engine local предикат» вместо обычного локального кода. Я получаю тот же результат, что и в сети, вообще не отвечаю, но также появляется сообщение об ошибке

РЕДАКТИРОВАТЬ 2: Я использую файл TF_Record, поэтому я не понимаю ответ JSON. Вот копия моей команды:

Задания gcloud ml-engine отправляют прогноз $ {JOB_ID} --data- format = tf_record \ --input-paths = gs: //MY_BUCKET/data_dir/inputs.tfr \ --output-path = gs: // MY_BUCKET / data_dir / version4 \ --region us-central1 \ --model = "gcp_detector" \ --version = "Version4"

1 Ответ

0 голосов
/ 16 июля 2018

Работает со следующими командами

Экспорт модели:

# From tensorflow/models
export PYTHONPATH=$PYTHONPATH:/home/[user]/repos/DeepLearning/tools/models/research:/home/[user]/repos/DeepLearning/tools/models/research/slim
cd /home/[user]/repos/DeepLearning/tools/models/research
python object_detection/export_inference_graph.py \
    --input_type encoded_image_string_tensor \
    --pipeline_config_path /home/[user]/[path]/ssd_mobilenet_v1_pets.config \
    --trained_checkpoint_prefix /[path_to_checkpoint]/model.ckpt-216593 \
    --output_directory /[output_path]/output_inference_graph.pb

Облачное исполнение

gcloud ml-engine jobs submit prediction ${JOB_ID} --data-format=TF_RECORD \
    --input-paths=gs://my_inference/data_dir/inputs/* \
    --output-path=${YOUR_OUTPUT_DIR}  \
    --region us-central1 \
    --model="model_name" \
    --version="version_name" 

Я не знаю, какое именно изменение исправляет проблему, но есть некоторые небольшие изменения, например, tf_record теперь TF_RECORD. Надеюсь, это поможет кому-то еще. Реквизиты в службу поддержки Google за их помощь (они предложили изменения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...