Я планирую осветить серию из трех частей, уделив основное внимание развертыванию, начиная с локального развертывания на flask, переходя на серверы EC2 и, наконец, докеры.
Моделирование — это весело и все такое, но можете ли вы получить какую-либо ценность для бизнеса, просто лежа в ваших блокнотах Google Colab / Jupyter и т. Д.? Без развертывания вашей сложной модели в первую очередь не было бы смысла создавать модель.
Развертывание модели может быть самым сложным этапом
На моем работает!
Знакомые знакомые строки, где ваш друг передает вам свою модель вместе с инструкциями по запуску кода, но вы, похоже, не можете его запустить. Это может произойти из-за конфликтующих пакетов, отсутствующих библиотек или даже низкого качества кода. Здесь могут помочь такие программы, как Docker, которые упаковывают все как единое целое. Мы расскажем об этом в ближайшее время.
Речь не всегда идет о результатах
Представьте себе модель с точностью 99,99%, но на один прогноз уходит 20 минут? Как вы думаете, это будет работать в реальном времени? Иногда нам приходится жертвовать производительностью ради экономии времени и других факторов.
Что насчет серверов?
Можете ли вы всегда получить достаточно большой сервер для обработки всех ваших запросов на нагрузку? Очень немногие компании имеют доступ к таким мощным серверам или даже к облачным сервисам.
Износ модели
Это этап после развертывания модели. Ваша работа здесь не заканчивается. Иногда обновления могут сломать весь код, сдвиг в данных, когда модель должна была обучаться на другом дистрибутиве, и вдруг она начинает видеть новый дистрибутив и начинает делать ошибки. В этом случае модель необходимо переобучить.
Вы можете найти весь код здесь — https://github.com/JINO-ROHIT/Medium_Flask_Blog
В этом проекте я создал очень простое приложение для прогнозирования личности, которое работает на сервере flask. Разделим весь процесс на четыре этапа
Перед этим нам нужно построить красивую структуру папок, что-то вроде этого
Статика — здесь вы можете хранить все свои изображения и другие метаданные.
Шаблоны — предназначены для хранения html-файлов, которые будут отображаться на веб-сайте.
app.py — это основной файл, в котором вы создаете экземпляр сервера flask и передаете входные данные функции для окончательного прогноза и отображаете результаты обратно.
baseline_personality.pkl — сериализованная версия обученной модели.
requirements.txt — список всех зависимостей для запуска кода.
Этап 1 – создание модели в Jupyter Notebook
Отказ от ответственности. Здесь акцент делается не на том, чтобы делать современные прогнозы, а на том, чтобы получить работающую простую базовую модель, а затем развернуть ее.
Этап 2 — Создание внешнего интерфейса
Мы будем использовать простой HTML для создания нашего внешнего интерфейса. Достаточно простой HTML-формы, которая может принимать функции от пользователя. Хотя не стесняйтесь проявлять столько творчества, сколько хотите (хотя я сосу в CSS)
Этап 3 — Сборка сервера Flask
Этап 4 — Результаты и эксперименты
После того, как все компоненты будут готовы, вам просто нужно запустить скрипт app.py, и ваш сервер flask запустится с URL-адресом — http://127.0.0.1:5000/.
Нажав на это, вы сможете отобразить index.html. Давайте попробуем указать некоторые значения, чтобы увидеть, как это работает.
Вот это уже круто! Мы смогли создать нашу собственную систему предикторов личности и развернуть ее. Я бы посоветовал вам больше экспериментировать и создавать более крутые штуки. А пока хреновина :)
Вы также можете найти меня здесь — https://www.linkedin.com/in/jino-rohit-6032541b5/