Я создал модель, показывающую интеграцию модели машинного обучения с DevOps. Часть автоматизации заключается в проверке точности модели.

Итак, приступим!

Сначала создайте репозиторий на git. На git bash создайте папку, инициализируйте репо, поместите код (код Python для модели DL). Здесь я использовал код для набора данных MNIST.

Затем мы создаем ОС, в которой мы установили библиотеки, которые будут использоваться для запуска нашей модели, например python3, keras и т. Д.

Вот файл докера, который я использовал.

Здесь я создал изображение под названием pro3os1.

Вы можете установить библиотеки в соответствии с требованиями кода, который вы развертываете здесь, в RHEL.

Теперь создаем цепочку рабочих мест в Jenkins.

РАБОТА 1

Задача состоит в том, чтобы постоянно опрашивать созданное нами репозиторий github и видеть, есть ли там какие-либо изменения, если да, то скопируйте их в папку (здесь я создал папку в корне RHEL с именем pro3try1.

Таким образом, до этого момента наш код mnist (try4.py) был скопирован в папку pro3try1 на базовой ОС.

Теперь идет

РАБОТА 2

Таким образом создается новый контейнер с именем tm типа pro3os1 (образ).

Также он копирует код try4.py из нашего корня / pro3try1 RHEL (базовой ОС) в папку в нашей новой ОС, расположение которой - (root / fol).

Таким образом, теперь у нас есть код try4.py в tm нашей ОС, в котором есть все библиотеки, необходимые для его запуска, и поэтому он хорошо оборудован.

Также вы можете протестировать его на этой ОС (try4.py), если он работает нормально. Для этого сначала прикрепите вашу ОС. Затем запустите команду «python3 try4.py».

Поэтому наш код и ОС работают хорошо. .Теперь мы должны сделать это с помощью Дженкинса.

Итак, мы создаем другую работу.

РАБОТА 3

Это запускает наш код в Docker-контейнере tm. И вы можете увидеть результаты в выводе консоли.

Далее нам нужно проверить нашу точность.

Для этого я добавил строки для сохранения точности в файл с именем precision.txt только в моем коде try4.py. Вот ссылка на мой код. Это сохранит файл precision.txt в вашем докер-контейнере. Если вы хотите просмотреть его, просто прикрепите докер и запустите команду ls. Он покажет вам файл precision.txt.



Теперь, когда у нас есть файл с нашей точностью, мы можем прочитать этот файл на jenkins и принять решение о дальнейших действиях.

РАБОТА 4

В случае, если точность меньше 99%, мой код будет добавлять слой в try4.py, а также я увеличил эпохи с 3 до 10 для достижения точности.

После успешной сборки этого задания вы можете просмотреть изменения в своем try4.py

В части else я включил выход 1. Потому что, если достигается точность 99%, я хотел бы вызвать письмо, чтобы уведомить человека.

РАБОТА 5

Затем идет наша работа 5. Здесь мы хотим снова запустить измененный код, а затем в части пост-сборки я добавил проект job4. Таким образом, если точность будет достигнута, письмо будет отправлено, как при «exit 1», сборка завершится неудачно, и цикл прервется, в противном случае снова запустится job5, слои будут добавлены и так далее.

РАБОТА 6

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

ХОРОШЕГО ДНЯ !!!