Ultralytics YOLO27: Запишись в список ожидания.
Get Started

Отслеживание экспериментов 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 в рабочем пространстве. Для этого выполни следующую команду и следуй появляющимся инструкциям.

Первоначальная настройка SDK
import wandb

# Инициализируй среду Weights & Biases (система запросит API-ключ или прочитает его из WANDB_API_KEY)
wandb.login()

Перейди на страницу авторизации Weights & Biases, чтобы создать и получить API-ключ. Введи этот ключ, когда появится запрос на аутентификацию среды в W&B.

Использование: обучение YOLO26 с Weights & Biases#

Использование: обучение 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#

АргументПо умолчаниюОписание
projectNoneЗадаёт имя проекта, сохраняемое локально и в W&B, и объединяет несколько запусков. Если параметр не задан, запуски W&B записываются в проект Ultralytics.
nameNoneИмя запуска обучения. Оно используется для создания подпапок и для регистрации данных в W&B.
saveTrueОпределяет, нужно ли загружать лучшую контрольную точку в качестве артефакта модели W&B.
Включение и отключение Weights & Biases

Чтобы включить или отключить регистрацию данных 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:

    1. Установи необходимые пакеты:

      pip install -U ultralytics wandb
      yolo settings wandb=True
    2. Войди в аккаунт Weights & Biases:

      wandb login
    3. Обучи модель 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:

    1. В выводе консоли появится ссылка на панель управления W&B.
    2. Нажми на ссылку или перейди на wandb.ai и войди в свой аккаунт.
    3. Открой свой проект, чтобы посмотреть подробные метрики, визуализации и данные о производительности модели.

    Панель даёт представление о процессе обучения модели и позволяет эффективно анализировать и улучшать модели YOLO26.

  • Да, ты можешь отключить регистрацию данных W&B с помощью следующей команды:

    yolo settings wandb=False

    Чтобы снова включить регистрацию данных, используй:

    yolo settings wandb=True

    Так ты сможешь управлять использованием регистрации данных W&B, не изменяя скрипты обучения.

  • Weights & Biases помогает оптимизировать модели YOLO26, предоставляя:

    1. Подробную визуализацию метрик обучения
    2. Возможность легко сравнивать разные версии модели
    3. Журналирование параметров обучения каждого запуска для сравнения при подборе гиперпараметров
    4. Возможность совместно анализировать производительность модели
    5. Удобный обмен артефактами и результатами модели

    Эти функции помогают исследователям и разработчикам быстрее выполнять итерации и принимать решения на основе данных, чтобы улучшать свои модели YOLO26.

Комментарии