Предпосылки
Обзор
В этом блоге мы собираемся развернуть простую модель линейной регрессии (модель машинного обучения), которую мы подготовили в блоге Машинное обучение - Простая линейная регрессия.
Ниже приведены шаги, которые мы собираемся выполнить в блоге:
- Раскрытие функциональности модели с помощью API-интерфейсов Flask.
- Создание Dockerfile
- Сборка и запуск образа Docker
Шаг 1. Раскрытие функциональности модели с помощью API-интерфейсов Flask
Начнем с создания модуля app.py. В этом модуле мы собираемся создать Flask API, чтобы раскрыть функциональные возможности нашей модели. Здесь я предполагаю, что вы, ребята, имеете базовое представление о Flask.
Во-первых, мы собираемся предоставить API «/ SimpleLinearRegression / Train», который будет использоваться для обучения модели.
Чтобы узнать больше о том, что мы делаем в методе train (), обратитесь к блогу Машинное обучение - Простая линейная регрессия.
Когда вызывается API «/ SimpleLinearRegression / Train», он обучает модель и сохраняет ее в файле с именем «linear_regression.pickle».
Теперь, чтобы делать прогнозы, мы собираемся предоставить API «/ SimpleLinearRegression / Predict», который будет принимать рост от пользователя и возвращать прогнозируемое значение веса.
Чтобы узнать больше о том, что мы делаем в методе pred (), обратитесь к блогу Машинное обучение - Простая линейная регрессия.
Что делает API «/ SimpleLinearRegression / Predict», так это то, что он загружает обученную модель (из файла «linear_regression.pickle», созданного API «/ SimpleLinearRegression / Train») и использует ее для прогнозирования веса.
Шаг 2: Создание файла Dockerfile
После создания приложения flask следующим шагом будет создание файла докера. Это будет использоваться для создания образа докера.
Я использую Python 3.7 в качестве базового образа. Я указываю свои контактные данные для лица, поддерживающего имидж. Затем я копирую файл requirements.txt в рабочий каталог. После этого устанавливаем рабочий каталог. Следующая пара команд обновит пакет, а затем установит все требования, соответственно. Наконец, копируем содержимое каталога, содержащего файл докера, в рабочий каталог. Последние две команды используются для запуска созданного приложения Flask.
Шаг 3: Сборка и запуск образа Docker
К настоящему времени мы создали приложение Flask, которое будет раскрывать возможности нашей модели, и подготовили файл Dockerfile. Следующим шагом является создание образа докера из файла докера. Чтобы создать образ докера, выполните следующую команду в CMD.
Чтобы запустить указанную выше команду, CMD должен указывать на каталог, в котором находится Dockerfile. После выполнения команды будет создан образ докера.
Наконец, мы собираемся запустить изображение, используя следующую команду:
После выполнения указанной выше команды наше приложение flask будет доступно по адресу http: // localhost: 5000 /.
Чтобы обучить модель, нам нужно вызвать API «/ SimpleLinearRegression / Train», как показано ниже:
Чтобы предсказать вес для роста, равного 2, вызовите API «/ SimpleLinearRegression / Predict», как показано ниже:
Поздравляем, мы успешно развернули нашу первую модель машинного обучения с использованием контейнеров докеров.
Ресурсы:
Вы можете найти код, который я написал в блоге, в моем репозитории GitHub.