Отслеживание экспериментов YOLO и визуализация с помощью Weights & Biases#
Модели обнаружения объектов, такие как Ultralytics YOLO26, стали неотъемлемой частью многих приложений компьютерного зрения. Однако обучение, оценка и развёртывание таких сложных моделей сопряжены с рядом трудностей. Для отслеживания ключевых метрик обучения, сравнения вариантов моделей, анализа их поведения и выявления проблем нужны значительные усилия по инструментированию и управлению экспериментами.
Смотри: Как использовать Ultralytics YOLO26 с Weights and Biases
В этом руководстве показана интеграция Ultralytics YOLO26 с Weights & Biases для отслеживания экспериментов, сохранения артефактов лучших моделей и визуализации производительности моделей. Также приведены инструкции по настройке интеграции, обучению и визуализации результатов с помощью интерактивных функций Weights & Biases.
У тебя уже записаны контрольные точки YOLO в W&B? Импортируй проекты в Ultralytics Platform через Settings > Integrations > Weights & Biases.
Weights & Biases#
Weights & Biases — это платформа MLOps для отслеживания, визуализации и управления экспериментами машинного обучения. Она автоматически регистрирует метрики обучения для полного воспроизведения экспериментов, предоставляет интерактивный интерфейс для упрощенного анализа данных и эффективные инструменты управления моделями для развертывания в различных средах.
Обучение YOLO26 с Weights & Biases#
Используй Weights & Biases, чтобы сделать процесс обучения YOLO26 эффективнее и автоматизировать его. Интеграция позволяет отслеживать эксперименты, сравнивать модели и принимать решения на основе данных для улучшения проектов компьютерного зрения.
Установка#
Чтобы установить необходимые пакеты, выполни команду:
# Install the required packages for Ultralytics YOLO and Weights & Biases
pip install -U ultralytics wandb
# Enable W&B logging for Ultralytics
yolo settings wandb=TrueПодробные инструкции и рекомендации по установке смотри в нашем руководстве по установке YOLO26. Если при установке необходимых пакетов для YOLO26 возникнут трудности, решения и советы найдёшь в нашем руководстве по распространённым проблемам.
Настройка Weights & Biases#
После установки необходимых пакетов следующий шаг — настроить среду Weights & Biases. Для этого нужно создать аккаунт Weights & Biases и получить API-ключ, который обеспечит беспроблемное подключение среды разработки к платформе W&B.
Сначала инициализируй среду Weights & Biases в рабочем пространстве. Для этого выполни следующую команду и следуй появляющимся инструкциям.
import wandb
# Инициализируй среду Weights & Biases (система запросит API-ключ или прочитает его из WANDB_API_KEY)
wandb.login()Перейди на страницу авторизации Weights & Biases, чтобы создать и получить API-ключ. Введи этот ключ, когда появится запрос на аутентификацию среды в W&B.
Использование: обучение YOLO26 с Weights & Biases#
from ultralytics import YOLO
# Загрузить модель YOLO
model = YOLO("yolo26n.pt")
# Обучи модель и выполни её тонкую настройку
model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")Запуски, создаваемые Ultralytics, строят графики метрик обучения относительно epoch. Если перед началом обучения запустить wandb.init(), Ultralytics подключится к этому запуску, добавит значение epoch в каждую строку и оставит запуск открытым, чтобы ты мог продолжать записывать в него данные и самостоятельно вызвать wandb.finish(). Аргументы обучения добавляются в конфигурацию этого запуска, а любое значение ключа, которое ты или sweep W&B уже задали, сохраняется.
Аргументы W&B#
| Аргумент | По умолчанию | Описание |
|---|---|---|
| project | None | Задаёт имя проекта, сохраняемое локально и в W&B, и объединяет несколько запусков. Если параметр не задан, запуски W&B записываются в проект Ultralytics. |
| name | None | Имя запуска обучения. Оно используется для создания подпапок и для регистрации данных в W&B. |
| save | True | Определяет, нужно ли загружать лучшую контрольную точку в качестве артефакта модели W&B. |
Чтобы включить или отключить регистрацию данных Weights & Biases в Ultralytics, используй команду yolo settings. По умолчанию регистрация данных Weights & Biases отключена.
# Enable Weights & Biases logging
yolo settings wandb=True
# Disable Weights & Biases logging
yolo settings wandb=FalseЗадай для WANDB_MODE=offline режим ведения журнала без подключения к сети, а затем загрузи запуск с помощью wandb sync <save_dir>/wandb/offline-run-*. Возобновление обучения с resume=True продолжает тот же запуск W&B — онлайн или офлайн, в любой операционной системе — считывая идентификатор запуска из каталога wandb/ в папке последнего запуска исходного каталога сохранения, поэтому не удаляй этот каталог.
Разбор вывода#
После выполнения приведённого выше фрагмента кода ты увидишь следующие основные результаты:
- Настройка нового запуска с уникальным идентификатором, сигнализирующая о начале процесса обучения.
- Краткая сводка о структуре модели, включая количество слоёв и параметров.
- Регулярно отслеживай важные метрики, такие как потери при обучении, точность, полнота и показатели mAP, на каждой эпохе обучения.
- По окончании обучения отображаются подробные метрики, включая скорость инференса модели и общие показатели точности.
- Ссылки на панель управления Weights & Biases для углублённого анализа и визуализации процесса обучения, а также сведения о расположении локальных файлов журналов.
Просмотр панели управления Weights & Biases#
После выполнения фрагмента кода ты сможешь перейти на панель управления Weights & Biases (W&B) по ссылке в выводе. На панели представлен полный обзор процесса обучения твоей модели с YOLO26.
Основные возможности панели управления Weights & Biases#
-
Отслеживание метрик в реальном времени: наблюдай, как меняются потери, точность и метрики валидации в процессе обучения, и сразу получай информацию для настройки модели. Узнай, как Weights & Biases отслеживает эксперименты.
-
Сравнение гиперпараметров: Каждый запуск сохраняет параметры обучения, например скорость обучения и размер пакета, чтобы ты мог сравнивать конфигурации разных запусков. Для автоматизированного поиска с журналированием в W&B используй Ray Tune.
-
Сравнительный анализ: платформа позволяет сопоставлять результаты разных запусков обучения — это важно для оценки влияния различных конфигураций модели и понимания того, какие изменения повышают производительность.
-
Визуализация хода обучения: графики ключевых метрик помогают наглядно оценить производительность модели на протяжении эпох. Узнай, как Weights & Biases помогает визуализировать результаты валидации.
-
Мониторинг ресурсов: следи за использованием CPU, GPU и памяти, чтобы оптимизировать эффективность обучения и выявлять возможные узкие места в рабочем процессе.
-
Управление артефактами модели: Получай доступ к лучшей контрольной точке модели и делись ею: в конце обучения она загружается как артефакт W&B, что упрощает развертывание и совместную работу с командой над сложными проектами.
Эти функции позволяют отслеживать, анализировать и оптимизировать обучение модели YOLO26 для задач обнаружения объектов.
Итоги#
В этом руководстве мы рассмотрели интеграцию Ultralytics YOLO с Weights & Biases для отслеживания и визуализации результатов обучения моделей. W&B помогает оптимизировать рабочий процесс машинного обучения, принимать решения на основе данных и повышать производительность модели.
Подробнее об этой интеграции можно узнать из презентации Сумика Ракшита на YOLO VISION 2023.
Часто задаваемые вопросы#
Чтобы интегрировать Weights & Biases с Ultralytics YOLO26:
-
Установи необходимые пакеты:
pip install -U ultralytics wandb yolo settings wandb=True -
Войди в аккаунт Weights & Biases:
wandb login -
Обучи модель YOLO26 с включённой регистрацией данных в W&B:
from ultralytics import YOLO model = YOLO("yolo26n.pt") model.train(data="coco8.yaml", epochs=5, project="ultralytics", name="yolo26n")
Метрики, гиперпараметры и артефакты модели будут автоматически записываться в твой проект W&B.
-
К основным возможностям относятся:
- Отслеживание метрик в реальном времени во время обучения
- Сравнение гиперпараметров разных запусков
- Сравнительный анализ результатов различных запусков обучения
- Визуализация хода обучения с помощью графиков
- Мониторинг ресурсов (использование CPU, GPU и памяти)
- Управление артефактами модели и обмен ими
Эти возможности помогают отслеживать эксперименты, оптимизировать модели и эффективнее совместно работать над проектами YOLO26.
После запуска скрипта обучения с интеграцией W&B:
- В выводе консоли появится ссылка на панель управления W&B.
- Нажми на ссылку или перейди на wandb.ai и войди в свой аккаунт.
- Открой свой проект, чтобы посмотреть подробные метрики, визуализации и данные о производительности модели.
Панель даёт представление о процессе обучения модели и позволяет эффективно анализировать и улучшать модели YOLO26.
Да, ты можешь отключить регистрацию данных W&B с помощью следующей команды:
yolo settings wandb=FalseЧтобы снова включить регистрацию данных, используй:
yolo settings wandb=TrueТак ты сможешь управлять использованием регистрации данных W&B, не изменяя скрипты обучения.
Weights & Biases помогает оптимизировать модели YOLO26, предоставляя:
- Подробную визуализацию метрик обучения
- Возможность легко сравнивать разные версии модели
- Журналирование параметров обучения каждого запуска для сравнения при подборе гиперпараметров
- Возможность совместно анализировать производительность модели
- Удобный обмен артефактами и результатами модели
Эти функции помогают исследователям и разработчикам быстрее выполнять итерации и принимать решения на основе данных, чтобы улучшать свои модели YOLO26.