Сравнение стека обслуживания SageMaker TensorFlow

Простой совет: простое пространство (или невидимый специальный символ) в вашем скрипте, прямо перед самым первым тегом <?php, может вызвать это! Особенно, когда вы работаете в команде, а кто-то использует «слабую» IDE или перепутал файлы со странными текстовыми редакторами.

Я видел эти вещи;)

0
задан sdcbr 18 January 2019 в 09:03
поделиться

1 ответ

Я постараюсь ответить на ваш вопрос на высоком уровне. Отказ от ответственности: я не являюсь экспертом по всему стеку того, что вы описываете, и я бы приветствовал исправления или дополнения от людей, которые это делают.

Я рассмотрю различные компоненты снизу вверх:

TensorFlow Serving - это библиотека для развертывания и размещения моделей TensorFlow в качестве серверов моделей, которые принимают запросы с вводом предсказания модели данных и возврата. Идея состоит в том, чтобы обучать модели с помощью TensorFlow, экспортировать их в формат SavedModel и обслуживать их с помощью TF Serving. Вы можете настроить TF-сервер для приема запросов через HTTP и / или RPC. Одним из преимуществ RPC является то, что сообщение запроса сжимается, что может быть полезно при отправке больших полезных данных, например, с данными изображения.

Flask - это среда разработки Python для написания веб-приложений. Он гораздо более универсален, чем TF Serving, и широко используется для создания веб-сервисов, например, в микросервисных архитектурах.

Теперь комбинация порций Flask и TensorFlow должна иметь смысл. Вы могли бы написать веб-приложение Flask, которое предоставляет пользователю API и вызывает модель TF, размещенную с помощью TF Serving под капотом. Пользователь использует API для передачи некоторых данных ( 1 ), приложение Flask, возможно, преобразует данные (например, оборачивает их в массивы), вызывает TF-сервер, чтобы получить прогноз модели ( 2 ) ( 3 ), возможно, преобразует прогноз (например, преобразует прогнозируемую вероятность, превышающую 0,5, в метку класса 1) и возвращает прогноз пользователю ( 4 ). Вы можете визуализировать это следующим образом:

enter image description here

Gunicorn - это интерфейс шлюза веб-сервера (WSGI), который обычно используется для размещения приложений Flask в производственных системах. Как следует из названия, это интерфейс между веб-сервером и веб-приложением. Когда вы разрабатываете приложение Flask, вы можете запустить его локально, чтобы протестировать его. В производстве Gunicorn запустит приложение для вас.

TF Serving будет размещать вашу модель в качестве функционального приложения. Поэтому вам не нужно gunicorn для запуска приложения TF Server.

Nginx - это настоящий веб-сервер, который будет размещать ваше приложение, обрабатывать запросы извне и передавать их на сервер приложений (gunicorn). Nginx не может напрямую общаться с приложениями Flask, поэтому там есть gunicorn.

Этот ответ также может быть полезен.

Наконец, если вы работаете на облачной платформе, часть веб-сервера, вероятно, будет обработана для вас, поэтому вам нужно будет либо написать приложение Flask и разместить его с gunicorn, либо настроить сервер обслуживания TF ,

0
ответ дан sdcbr 18 January 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: