Подтвердить что ты не робот

Пример развертывания модели Tensorflow с помощью API RESTful

Есть ли какой-либо пример кода для развертывания Tensorflow Model через RESTful API? Я вижу примеры для командной строки и для мобильного приложения. Есть ли рамки для этого или люди просто загружают модель и выставляют метод прогнозирования через веб-инфраструктуру (например, Flask) для ввода ввода (скажем, через JSON) и возврата ответа? Под каркасом я подразумеваю масштабирование для большого количества запросов на прогнозирование. Конечно, поскольку модели неизменяемы, мы можем запускать несколько экземпляров нашего сервера прогнозирования и помещать его в балансировщик нагрузки (например, HAProxy). Мой вопрос в том, что люди используют некоторые рамки для этого или делают это с нуля, или, возможно, это уже доступно в Tensorflow, и я его не заметил.

4b9b3361

Ответ 1

https://github.com/sugyan/tensorflow-mnist показывает простой пример restAPI, используя Flask и загружая предварительно подготовленный режим (восстановление).

@app.route('/api/mnist', methods=['POST'])
def mnist():
    input = ((255 - np.array(request.json, dtype=np.uint8)) / 255.0).reshape(1, 784)
    output1 = simple(input)
    output2 = convolutional(input)
    return jsonify(results=[output1, output2])

Также см. онлайн-демонстрацию https://tensorflow-mnist.herokuapp.com/. Кажется, API достаточно быстр.

Ответ 2

TensorFlow Serving - это высокопроизводительная система с открытым исходным кодом для моделей машинного обучения, предназначенная для производственных сред и оптимизированная для TensorFlow. Исходный выпуск содержит примеры, построенные с помощью gRPC, но вы можете легко заменить front-end (обозначенный как "клиент" на диаграмме ниже) с API RESTful в соответствии с вашими потребностями.

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

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