Пакетное прогнозирование в Google ML Engine - PullRequest
2 голосов
/ 03 апреля 2019

Пакетное прогнозирование в Google ML Engine вызывает исключение.

У меня есть модель тензорного потока в Google ML Engine. Моя модель делает вывод на изображение. Входные данные не являются обычным массивом. Модель принимает только строку изображения в кодировке b64.

Мой ввод - это текстовый файл, размещенный в корзине на Google Cloud Platform. Файл выглядит так:

{"image": "b64 encoded image string", "key": "0"}
{"image": "b64 encoded image string", "key": "1"}
{"image": "b64 encoded image string", "key": "2"}

Выходные данные должны быть на всех изображениях, но получаю следующее исключение:

('Exception during running the graph: Expected image (JPEG, PNG, or GIF), got unknown format starting with \'{\\"image\\": \\"/9j/4\'\n\t [[node encoder/map/while/DecodeJpeg (defined at /usr/local/lib/python2.7/dist-packages/google/cloud/ml/prediction/frameworks/tf_prediction_lib.py:210) ]]', 1)

1 Ответ

1 голос
/ 09 апреля 2019

Если ваша модель «принимает только кодированную строку изображения в формате b64», то есть подпись имеет один входной тензор, а тип данных - строка, тогда ML Engine подает каждую строку входного файла непосредственно в однострочный входной тензор.В этом случае декодирование JSON / b64 не выполняется, поэтому ваша модель получит всю строку в качестве входных данных.

Если это относится к вашей модели, вы можете устранить исключение, добавив новую модель в вашу модель, которая обрабатывает поле «ключ» в вашем вводе.

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