Добро пожаловать в заключительную часть нашей серии руководств по MLOps! В этой части мы развернем нашу обученную модель RandomForestClassifier в качестве конечной точки API с помощью Flask. К концу этого руководства у вас будет полностью функционирующий API, который сможет делать прогнозы на основе обученной модели. Давайте погрузимся и завершим наше путешествие MLOps!
Оглавление:
- Введение в MLOps (Часть-1)
- Настройка окружения (Часть-1)
- Изучение набора данных IRIS (Часть-1)
- Построение и обучение модели RandomForestClassifier (Часть-2)
- Настройка сервера MLflow (Часть-3)
- Развертывание модели в качестве конечной точки API с помощью Flask (часть 4)
- Заключение и следующие шаги
6. Развертывание модели в качестве конечной точки API с помощью Flask (часть 4)
В этой заключительной части нашей серии руководств мы развернем нашу обученную модель RandomForestClassifier в качестве конечной точки API, используя Flask, облегченную веб-инфраструктуру для Python. Давайте начнем!
6.1. Установить колбу
Во-первых, нам нужно установить Flask. Откройте терминал или командную строку и выполните следующую команду:
pip install flask
6.2. Создайте приложение Flask
Создайте новый файл Python с именем api.py
и откройте его в текстовом редакторе. Добавьте следующий код, чтобы создать приложение Flask и определить конечную точку API:
Этот код создает приложение Flask, определяет маршрут /predict
, который принимает полезные данные JSON, содержащие данные для прогнозирования, загружает обученную модель с помощью MLflow, делает прогнозы и возвращает прогнозы в виде ответа JSON.
6.3. Запустите приложение Flask
Откройте терминал или командную строку, перейдите в каталог проекта и выполните следующую команду, чтобы запустить приложение Flask:
python api.py
6.4. Протестируйте конечную точку API
Запустив приложение Flask, вы можете протестировать конечную точку API с помощью таких инструментов, как cURL или Postman. Отправьте запрос POST на http://localhost:5002/predict
с полезной нагрузкой JSON, содержащей данные для прогнозирования. Например:
{ "data": [[5.1, 3.5, 1.4, 0.2], [6.2, 2.9, 4.3, 1.3], [6.7, 3.1, 5.6, 2.4]] }
API ответит предсказанными метками для входных данных следующим образом:
[ 0, 1, 2 ]
6.5. Поздравляем!
Поздравляем! Вы успешно развернули свою модель RandomForestClassifier в качестве конечной точки API с помощью Flask. Теперь вы можете делать прогнозы, отправляя запросы в свой API.
Проверьте исходный код в репозитории GitHub. Вы также узнаете, как мы можем разместить нашу модель в веб-приложении на основе Streamlit. Ниже приведен скриншот приложения:
Заключение
В этой заключительной части серии руководств мы развернули нашу обученную модель RandomForestClassifier в качестве конечной точки API с помощью Flask. Мы объединили возможности MLflow для отслеживания моделей и Flask для создания API. На этом наше путешествие в MLOps завершено, от создания и обучения модели до ее развертывания в виде полнофункционального API.
Вы получили практический опыт работы с методами MLOps и теперь готовы исследовать и применять эти концепции в своих собственных проектах машинного обучения. Не забывайте продолжать обучение и быть в курсе последних событий в области MLOps.
Спасибо, что присоединились ко мне в этом захватывающем путешествии MLOps. Удачного кодирования, и пусть ваши модели машинного обучения добьются больших успехов!