Узнайте, как развернуть обученную модель с помощью пошаговых руководств для начинающих.

После того, как я какое-то время пытался узнать о вещах машинного обучения, я задал себе вопрос. Каким должен быть следующий ход? У меня есть обученная модель на ноутбуке Jupyter, которая может предсказывать довольно хорошие результаты. Но как я могу поделиться этим с людьми и позволить им взаимодействовать с ним более динамично (не только в оболочке jupyter)? Один из возможных способов, который я нашел, — это создать веб-приложение с помощью Flask и прибить туда свою модель. Flask — это веб-фреймворк на Python. Это не сложно и также возможно «для меня», чтобы начать как новичок.

Требования

На этом этапе предположим, что у всех вас установлен Python3 и знаете, как программировать машинное обучение в целом.

Я начал изучать FLASK с этого полезного руководства:
https://www.tutorialspoint.com/flask/index.htm
Здесь около 25 коротких статей, которые нужно прочитать и практика (достаточно прочесть всего 18 наименований! (из главы Главная — Расширения)). Теперь мы знаем, как работает flask.

Я погуглил как развернуть обученную модель в веб-приложении с помощью flask и нашел это:
https://hackernoon.com/deploy-a-machine-learning-model-using-flask-da580f84e60c
и его репозиторий на Github:
https://github.com/vyashemang/flask-salary-predictor

Клонировать!… быстро просмотрел. Вы получите полную картину. Но я обнаружил, что это все еще довольно сложно для меня! Я не знаю, для чего используется «json» или что на самом деле делает request.py. Я пытаюсь следовать, но это не работает для меня. Итак, давайте изменим его!

Измените свои собственные способы

Цель этого блога — понять, как API веб-приложения и обученная модель работают вместе. Итак, мы не зацикливаемся на том, насколько глупа модель (на самом деле она не моя, лол). Убедитесь, что вы уже выполнили вышеуказанные требования и…

НАЧНЕМ!

Сначала настройте виртуальную среду
Шаг 1: перейдите в каталог нашего проекта.
Шаг 2: создайте и активируйте venv проекта с помощью следующей команды:

После успешной активации вы увидите (myvenv) перед строкой.

Шаг 3: (необязательно), чтобы убедиться, что ваш venv получает последнюю версию pip, набрав:

Шаг 4: установите необходимый модуль

Создайте файлы requirements.txt и заполните эти имена модулей (с помощью текстового редактора).

Затем введите:

Теперь у нас есть локальная виртуальная среда, готовая для нашего фляжного веб-приложения.

Во-вторых, позвольте (самому) понять структуру веб-приложения

Шаг 1: (мы все еще в каталоге проекта) давайте клонируем этот git-репозиторий: https://github.com/Elstargo00/train-model-on-webabb.git

Введя:

Клон $git https://github.com/Elstargo00/train-model-on-webabb.git

Шаг 2: понимание model.py
Model.py — это не что иное, как простая модель линейной регрессии, написанная на python. Вместо этого посмотрите на это!

Когда у нас есть модель на скрипте Python (model.py), после первой компиляции pickle создаст обученную модель (model.py) и сохранит ее в текущем каталоге. . Затем мы можем развернуть эту обученную модель в любое время с помощью pickle.load() (без обучения с нуля!)

Шаг 3: изучите server.py

Это файл, который соединяет нашу модель машинного обучения и веб-интерфейс.

  • загружаем модель (model.pkl) с помощью pickle
  • мы визуализируем шаблон (request.html) для сбора входных данных от пользователей. (Подробности в шаге 4)
  • route(‘/api) получает данные из request.html и пересылает данные в модель ML с соответствующей формой

Шаг 4: ознакомьтесь с файлами templates/request.html

Это пользовательский (клиентский) интерфейс.

  • request.html получает информацию от пользователей в текстовом виде и перенаправляет на маршрут («/api»).

ГОТОВО!!

Теперь вы понимаете, как они работают вместе. Давай, построй для себя!