Вступление

Развертывание моделей машинного обучения остается серьезной проблемой. Несмотря на то, что внедрение модели машинного обучения в рабочую среду является одним из наиболее важных шагов при создании приложения для машинного обучения, существует не так много руководств, показывающих, как это сделать. Поэтому в этой статье я расскажу, как создать модель машинного обучения, создав нормальный веб-сайт с использованием веб-микро-инфраструктуры Flask.

Введение в Amazon Web Services (AWS)

Что такое AWS? - Amazon Web Services (AWS) - это облачный сервис от Amazon, который предоставляет услуги в виде стандартных блоков. Эти строительные блоки можно использовать для создания и развертывания приложений любого типа в облаке.

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

Введение в Flask

Что такое Flask?

Flask - это веб-фреймворк. Это означает, что flask предоставляет вам инструменты, библиотеки и технологии, позволяющие создавать веб-приложения. Это веб-приложение может представлять собой несколько веб-страниц, блог, вики или иметь такое же большое значение, как веб-приложение-календарь или коммерческий веб-сайт.

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

  • Werkzeug служебная библиотека WSGI.
  • jinja2, который является его механизмом шаблонов.

7 простых шагов для создания модели машинного обучения в AWS:

  1. Создайте модель на своем локальном компьютере и сохраните модель и другие ключевые переменные, связанные с моделью, в файлах pickle (файлы .pkl).
  2. Запустите микроэкземпляр на AWS.
  3. Подключитесь к экземпляру AWS.
  4. Переместите файлы в экземпляр AWS-EC2
  5. Установите все необходимые пакеты на экземпляр AWS.
  6. Запустите app.py в окне AWS.
  7. Проверьте вывод в браузере.

Требуется программное обеспечение: (Anaconda)

Чтобы загрузить Anaconda, перейдите по ссылкам, приведенным ниже:

Windows 64 бит, Windows 32 бит, Mac, Linux 64 бит, Linux 32 бит

Получение данных

В качестве примера я взял набор данных Amazon Fine Food Reviews. Набор данных Amazon Fine Food Reviews состоит из обзоров качественных продуктов с Amazon.

Источник: https://www.kaggle.com/amanai/amazon-fine-food-review-sentiment-analysis

Обзор набора данных

Количество отзывов: 568 454
Количество пользователей: 256 059
Количество товаров: 74 258
Интервал времени: октябрь 1999 г. - октябрь 2012 г.
Количество атрибутов / столбцов в данных: 10

Давайте запустим код на нашем локальном компьютере

Позвольте мне сначала показать вам структуру папок и файлы внутри:

Шаг 1. Откройте запрос Anaconda:

Шаг 2: перейдите в каталог кода.

Шаг 3: запустите python app.py

Шаг 4: браузер: http: // localhost: 8080 / index

Снимок командной строки:

Снимки веб-страниц:

Для положительного отзыва:

Для отрицательного отзыва:

Давайте разберемся с кодом

  1. index.html: Он используется для создания простой веб-страницы, где мы предоставляем Review_text в качестве входных данных, и при нажатии кнопки Отправить мы получаем получение прогноза. Здесь мы указываем имя функции (прогноз ()) в теге действия формы.

2. app.py: здесь мы пишем код для создания API с помощью Flask.

Эта часть кода сканирует URL-адрес (http: // localhost: 8080 /), и если в конце найдет «/», он просто напечатает «Привет Мир ».

Эта часть кода сканирует URL-адрес (http: // localhost: 8080 / index) и, если в конце находит «/ index», отображает HTML-контент и когда он находит ('/ предсказать', методы = ['POST']) в части HTML-формы и выполняет функцию предсказать ().

Развертывание приложения на Amazon Web Server (AWS)

Поскольку мы знаем, что если мы запустим какое-либо приложение на нашей локальной машине, другие люди не смогут получить к нему доступ, но если мы развернем или разместим его на облачных серверах, то мы сможем поддерживать работу экземпляра все время, и люди могут получить к нему доступ в любое время. Итак, теперь давайте посмотрим, как развернуть модель машинного обучения в AWS.

Запустить микроэкземпляр на AWS

Создайте учетную запись AWS:

https://aws.amazon.com, https://portal.aws.amazon.com/billing/signup#/start

Логин:

https://console.aws.amazon.com

3. После входа:

4. Запустите экземпляр «EC2»
5. Выберите «Ubuntu Free Tire»

6. Нажмите «Выбрать»
7. Выберите «t2.micro« Допустимый уровень бесплатного пользования.

8. Нажмите «Просмотреть и запустить».

9. Нажмите "Запустить".

10. Нажмите «Загрузить пару ключей» и сохраните «.pem-файл», затем нажмите «Запустить экземпляр».

11. Вы увидите этот экран, вы успешно запустили экземпляр «EC2», теперь нам нужно запустить в нем «Flask API».
12. Заключительный шаг :

13. Выберите «Сеть и безопасность» - ›Группы безопасности, а затем нажмите« Создать группу безопасности ».

14. Затем добавьте конкретную группу безопасности в сетевой интерфейс.

15. Подключитесь к своему экземпляру AWS.

Следуйте инструкциям на рисунке ниже, чтобы подключиться к вашему экземпляру

16. Переместите файлы в экземпляр AWS EC2:

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

scp -r -i for_live.pem ./AFR ubuntu@ec2–13–59–191–237.us-east-2.compute.amazonaws.com

17. Установите все пакеты, необходимые для экземпляра AWS EC2.

sudo apt-get install python3-pip

pip3 install ‹каждый из следующих пакетов›

Необходимые пакеты:

pip3, pandas, numpy, sklearn, beautifulsoup4, lxml, flask, re

18. Запустите app.py в окне AWS.

19. Проверьте вывод в браузере.

Заключение

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

Просто выполните все шаги, чтобы внедрить модель машинного обучения в AWS.

Где найти мой код?

GITHUB: https://github.com/SubhamIO/Build-and-Deploy-an-Machine-Learning-Model-using-AWS-and-API-s

использованная литература

  1. https://pymbook.readthedocs.io/en/latest/flask.html
  2. https://www.geeksforgeeks.org/ssh-command-in-linux-with-examples/
  3. https://www.geeksforgeeks.org/scp-command-in-linux-with-examples/
  4. https://www.edureka.co/blog/what-is-aws/

Надеюсь, вам понравилось читать этот блог! Спасибо …