Я развернул архитектуру нейронной сети на основе Conv, используя Tensorflow Serving. Я запрашиваю Rest API, как и ожидалось, я отправляю закодированное изображение Base64 на тело json:
{'instances' : [{'b64': b64image}]}
Все работает, как и ожидалось, но ответ json от Tensorflow Model Server не возвращает другое кодированное изображение b64, но необработанные байты jpg файла:
{'predictions': [imagebytes]}
Конечно, это вызывает много проблем. Я не знаю, что мне не хватает, сначала я думал, что Model Server возвращает кодированное изображение b64, что-то ожидаемое, потому что Model Server автоматически декодирует ввод b64 в запросе. Как я могу включить поддержку этого?
В настоящее время решение, которое я могу себе представить, заключается в том, чтобы обернуть мою модель в возвращаемую строку с кодированием b64 (фактически моя модель уже обернута для принятия в качестве входных байтов необработанного изображения и вывода байтов необработанного изображения)
Надеюсь, что ваши предложения!
PD: Я решаю изменить экспортированную модель для вывода строки изображения в кодировке b64, это решает мою проблему на данный момент, но, конечно, у этого должен быть другой подход, это не Логично, что TF Serving поддерживает декодирование Base64 для входных данных, но не кодирует выходные данные одинаково.