DATASETS LINK = https://drive.google.com/file/d/1tHrB2htZfFHMDZ6VV0zh7kqcdi9lWNh_/view?usp=sharing Скачиваем датасет и помещаем в папку проекта
Запускаем редактор кода и с помощью терминала создаем виртуальное окружение командой
python -m venv .venv
Активируем терминал от этой области
.venv/Scripts/activate.ps1
Теперь нам требуется установить вспомогательные библиотеки
pip install ultralytics
pip install clearml
ClearML нам потребуется для остлеживанием процесса обучения нашей нейронной сети, YOLO уже умеет с ним работать, нам лишь остается предоставить ей ключ авторизации. Заходим на их сайт https://clear.ml/
Регистрируем аккаунт и создаем ключ API пошагово: Авторизуемся Переходим в Settings => Workspace область и жмем create new credentials
Данный ключ можно скопировать с помощью встроенной кнопки на сайте.
Вовзращаемся в редактор кода и вводим команду в терминал
clearml-init
Консоль в ответ потребует вставить скопированный ключ, а также код и пароль который нам вывели при создании ключа
Когда все выполнили открываем train.py и можем его сразу запускать, у нас есть несколько видов нейронной сети, каждая со своим преимуществом: YOLOv8n (наномодель) YOLOv8s (маленькая модель) YOLOv8m (средняя модель) Каждая модель лучше второй, но заметные улучшения будут видны при более длительном обучении. Название модели можно подменить в строке создания модели model = YOLO("Название модели"), библиотека модель подгрузит автоматически.
Внутри команды тренировки есть свойства, как настройки тренировки, количество циклов размер картинок поиска и др., важным здесь будет учесть свойство" —device", его нет в файле, но если ваша видеокарта не от Nvidia или не имеет CUDA ядер, то вам придется обучать нейронную сеть с помощью процессора, что значительно замедлит скорость обучения. Команду придется добавить со значением 0, что означает использовать CPU в процессе обучения.
device = 0 или device="cpu"
Трудности которые могут возникнуть: Папка datasets должна находится там же, где и ваш проект. Файл train.py может находится в любом месте, но самое важное, чтобы ваш проект имел верный путь до остальных файлов, ведь это вызовет ошибки о использовании несуществующих файлов.
Результаты обучения модели: Модель обучалась без изменения размера файлов датасета; Обучение проводилось в 30 эпох. Примеры результатов обученной модели: