Целью данной работы является получение навыков разработки CI/CD pipeline для ML моделей с достижением метрик моделей и качества.
- Был создан репозиторий на GitHub, в который регулярно проводились commit'ы и push'ы в ветку разработки.
- Была проведена подготовка данных для набора данных, согласно варианту задания.
- Была разработана ML модель с двумя классическими алгоритмами классификации: деревом решений и случайный лесом.
- Модель вместе с препроцессингом была описана .py скриптами.
- Код был покрыт юнит-тестами при помощи pytest.
- Был задействован DVC для версирования обрабатываемых данных и результатов экспериментов.
- Была произведена докеризация модели.
- В дистрибутив были добавлены следующие ключевые файлы:
- config.json – параметры запуска модели;
- Dockerfile и docker-compose.yml – конфигурация создания контейнера и образа модели;
- requirements.txt – используемые зависимости (библиотеки) и их версии.
- Был создан CI pipeline на базе GitHub для сборки docker image и отправки его на DockerHub (сборка автоматически стартует по pull request в основную ветку репозитория модели).
- Был создатн CD pipeline для запуска контейнера и проведения функционального тестирования по сценарию (запуск стартует в качестве последнего этапа CI pipeline).