Это подход к интеграции моделей машинного обучения с 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.