Как развернуть и обслуживать прогнозирование с помощью TensorFlow из API?

Из учебника Google мы знаем, как обучить модель в TensorFlow. Но как лучше всего сохранить обученную модель, а затем выполнить прогноз, используя базовый минимальный api python на рабочем сервере.

Мой вопрос в основном касается лучших практик TensorFlow для сохранения модели и предоставления прогнозов на реальном сервере без ущерба для скорости и проблем с памятью. Поскольку сервер API будет работать в фоновом режиме навсегда.

Мы будем благодарны за небольшой фрагмент кода Python.


person rayhan    schedule 27.01.2016    source источник


Ответы (1)


TensorFlow Serving - это высокопроизводительная система обслуживания с открытым исходным кодом для моделей машинного обучения, разработанная для производственных сред и оптимизированная для TensorFlow. Первоначальный выпуск содержит примеры сервера C ++ и клиента Python на основе gRPC. Базовая архитектура показана на схеме ниже.

введите описание изображения здесь

Чтобы быстро начать работу, ознакомьтесь с руководством.

person Jarek Wilkiewicz    schedule 16.02.2016
comment
Спасибо за это, Ярек. Знаете ли вы, есть ли планы по реализации на Python серверной части для обслуживания TensortFlow? - person eriophora; 09.03.2016
comment
Насколько мне известно, основная библиотека написана на C ++ и ориентирована на производительность. Не могли бы вы поделиться дополнительной информацией о своем варианте использования? - person Jarek Wilkiewicz; 10.03.2016
comment
В этом есть смысл. Я хотел бы развернуть сервер, который будет принимать запросы от большого числа пользователей, которые принимают форму изображений, и возвращать результаты логического вывода (выход модели, входом которой является изображение запроса). Что мне непонятно, так это то, что большая часть документации (например, определение обслуживаемых объектов в обзоре архитекторов), по-видимому, подразумевает, что служба TensorFlow фактически возвращает сами модели, а не их выходные данные (обслуживаемые объекты - это базовые объекты, которые клиенты используют для выполнения вычислений). .. Я бы хотел, чтобы вычисления выполнялись на стороне сервера, а не на стороне клиента - person eriophora; 15.03.2016
comment
Да, в наших примерах обслуживание TensorFlow выполняется внутри сервера gRPC, и сервер возвращает результат логического вывода. Кстати, похоже, ваша система может в конечном итоге выглядеть похожей на то, что описано в этом руководстве: tensorflow.github.io / serve / serve_inception :) - person Jarek Wilkiewicz; 23.03.2016