Это подход к интеграции моделей машинного обучения с Docker и Jenkins.

Репозиторий GitHub: https://github.com/shubhabhi/MLOps-Task

Во-первых, я создал два образа Docker, используя файл Docker для модели CNN, которую мы будем обучать, и другой для общих проблем ML.

ЗАДАНИЕ 1. Как только разработчик отправляет код на GitHub, он автоматически загружается в рабочую область Jenkins.

Задание 2. Просмотрев код или программный файл, Дженкинс должен автоматически запустить интерпретатор соответствующего программного обеспечения для машинного обучения, а также установить контейнер образа, чтобы развернуть код и начать обучение.

В случае, если код использует CNN, то Jenkins должен запустить контейнер, в котором уже установлено все необходимое для обработки CNN программное обеспечение.

ЗАДАНИЕ 3. Обучение модели и прогнозирование ее точности.

ЗАДАНИЕ 4: если точность обученной модели меньше заданного нами диапазона, то есть точность›=80%. Требуется переобучить модель с изменением значений гиперпараметров.

Начальные значения гиперпараметров:

no_of_filters=32, размер_ядра=3, размер_пула=2, я=1

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

Но если точность достигнута (здесь 90%), разработчик получит уведомление о точности модели по электронной почте.

ЗАДАНИЕ 5: создайте один дополнительный для мониторинга, т. е. если контейнер, в котором запущено приложение, выйдет из строя по какой-либо из причин, это задание должно автоматически снова запустить контейнер с того места, где осталась последняя обученная модель.

Вышеупомянутая задача была выполнена под руководством г-на Вимала Дага из LinuxWorld Informatics Pvt Ltd.