Перейти к содержимому

Улучшение отслеживания и визуализации экспериментов YOLOv8 с помощью Weights & Biases

Модели обнаружения объектов, такие как Ultralytics YOLOv8 стали неотъемлемой частью многих приложений компьютерного зрения. Однако обучение, оценка и развертывание этих сложных моделей сопряжено с рядом проблем. Отслеживание ключевых показателей обучения, сравнение вариантов моделей, анализ поведения моделей и выявление проблем требуют значительного количества инструментов и управления экспериментами.

This guide showcases Ultralytics YOLOv8 integration with Weights & Biases' for enhanced experiment tracking, model-checkpointing, and visualization of model performance. It also includes instructions for setting up the integration, training, fine-tuning, and visualizing results using Weights & Biases' interactive features.

Weights & Biases

Weights & Biases Обзор

Weights & Biases Это передовая платформа MLOps, предназначенная для отслеживания, визуализации и управления экспериментами по машинному обучению. В ней есть автоматическое протоколирование метрик обучения для полной воспроизводимости экспериментов, интерактивный пользовательский интерфейс для упрощенного анализа данных и эффективные инструменты управления моделями для развертывания в различных средах.

YOLOv8 Тренировка с Weights & Biases

Ты можешь использовать Weights & Biases, чтобы привнести эффективность и автоматизацию в свой тренировочный процесс YOLOv8.

Установка

Чтобы установить необходимые пакеты, выполни:

Установка

# Install the required packages for YOLOv8 and Weights & Biases
pip install --upgrade ultralytics==8.0.186 wandb

Для получения подробных инструкций и лучших практик, связанных с процессом установки, обязательно ознакомься с нашим руководством по установкеYOLOv8 . Во время установки необходимых пакетов для YOLOv8, если у тебя возникнут какие-либо трудности, обратись к нашему руководству по общим проблемам, чтобы найти решения и советы.

Настройка Weights & Biases

После установки необходимых пакетов следующим шагом будет настройка твоего окружения Weights & Biases. Сюда входит создание аккаунта Weights & Biases и получение необходимого API-ключа для бесперебойной связи между твоей средой разработки и платформой W&B.

Начни с инициализации среды Weights & Biases в твоем рабочем пространстве. Это можно сделать, выполнив следующую команду и следуя предложенным инструкциям.

Начальная настройка SDK

# Initialize your Weights & Biases environment
import wandb
wandb.login()

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

Использование: Тренировка YOLOv8 с Weights & Biases

Прежде чем погрузиться в инструкцию по использованию модели YOLOv8 для обучения с помощью Weights & Biases, обязательно ознакомься с ассортиментом моделейYOLOv8 , предлагаемых Ultralytics. Это поможет тебе выбрать наиболее подходящую модель под требования твоего проекта.

Использование: Тренировка YOLOv8 с Weights & Biases

import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO

# Step 1: Initialize a Weights & Biases run
wandb.init(project="ultralytics", job_type="training")

# Step 2: Define the YOLOv8 Model and Dataset
model_name = "yolov8n"
dataset_name = "coco8.yaml"
model = YOLO(f"{model_name}.pt")

# Step 3: Add W&B Callback for Ultralytics
add_wandb_callback(model, enable_model_checkpointing=True)

# Step 4: Train and Fine-Tune the Model
model.train(project="ultralytics", data=dataset_name, epochs=5, imgsz=640)

# Step 5: Validate the Model
model.val()

# Step 6: Perform Inference and Log Results
model(["path/to/image1", "path/to/image2"])

# Step 7: Finalize the W&B Run
wandb.finish()

Понимание кода

Let's understand the steps showcased in the usage code snippet above.

  • Шаг 1: Инициализируй прогон Weights & Biases : Начни с инициализации прогона Weights & Biases , указав имя проекта и тип задания. Этот прогон будет отслеживать и управлять процессами обучения и проверки твоей модели.

  • Шаг 2: Определи модель YOLOv8 и набор данных: Укажи вариант модели и набор данных, который ты хочешь использовать. После этого модель YOLO инициализируется с указанным файлом модели.

  • Шаг 3: Добавь Weights & Biases обратный вызов для Ultralytics: Этот шаг очень важен, так как он позволяет автоматически записывать метрики обучения и результаты валидации на Weights & Biases, обеспечивая детальное представление о работе модели.

  • Шаг 4: Тренируй и настраивай модель: Начни обучение модели с заданным набором данных, количеством эпох и размером изображения. Процесс обучения включает в себя регистрацию метрик и прогнозов в конце каждой эпохи, что позволяет получить полное представление о прогрессе обучения модели.

  • Шаг 5: Проверь модель: После обучения модель валидируется. Этот шаг очень важен для оценки эффективности модели на невидимых данных и обеспечения ее обобщаемости.

  • Шаг 6: Выполни предсказание и запиши результаты в журнал: Модель выполняет предсказания на заданных изображениях. Эти предсказания, а также визуальные наложения и выводы автоматически заносятся в таблицу W&B для интерактивного изучения.

  • Шаг 7: Заверши прогон W&B: Этот шаг знаменует собой окончание регистрации данных и сохраняет финальное состояние процесса обучения и проверки твоей модели на приборной панели W&B.

Понимание вывода

Запустив приведенный выше фрагмент кода использования, ты можешь ожидать следующих ключевых результатов:

  • Создание нового прогона с его уникальным идентификатором, означающим начало тренировочного процесса.
  • A concise summary of the model's structure, including the number of layers and parameters.
  • Регулярные обновления важных метрик, таких как box loss, cls loss, dfl loss, precision, recall и mAP, в течение каждой эпохи обучения.
  • По окончании обучения отображаются подробные метрики, включая скорость вывода модели и общие показатели точности.
  • Ссылки на приборную панель Weights & Biases для углубленного анализа и визуализации тренировочного процесса, а также информация о локальном расположении лог-файлов.

Просмотр панели Weights & Biases Dashboard

После выполнения фрагмента кода использования ты сможешь получить доступ к дашборду Weights & Biases (W&B) по ссылке, указанной в выводе. Эта приборная панель дает полное представление о процессе обучения твоей модели с помощью YOLOv8.

Ключевые особенности приборной панели Weights & Biases

  • Real-Time Metrics Tracking: Observe metrics like loss, accuracy, and validation scores as they evolve during the training, offering immediate insights for model tuning. See how experiments are tracked using Weights & Biases.

  • Оптимизация гиперпараметров: Weights & Biases помогает точно настроить такие важные параметры, как скорость обучения, размер партии и другие, повышая производительность YOLOv8.

  • Сравнительный анализ: Платформа позволяет сравнивать бок о бок разные тренировочные прогоны, что очень важно для оценки влияния различных конфигураций модели.

  • Visualization of Training Progress: Graphical representations of key metrics provide an intuitive understanding of the model's performance across epochs. See how Weights & Biases helps you visualize validation results.

  • Мониторинг ресурсов: Следи за использованием CPU, GPU и памяти, чтобы оптимизировать эффективность тренировочного процесса.

  • Управление артефактами модели: Получи доступ к контрольным точкам модели и поделись ими, облегчая развертывание и совместную работу.

  • Viewing Inference Results with Image Overlay: Visualize the prediction results on images using interactive overlays in Weights & Biases, providing a clear and detailed view of model performance on real-world data. For more detailed information on Weights & Biases' image overlay capabilities, check out this link. See how Weights & Biases' image overlays helps visualize model inferences.

Используя эти возможности, ты сможешь эффективно отслеживать, анализировать и оптимизировать тренировки своей модели YOLOv8, обеспечивая наилучшую производительность и эффективность.

Резюме

This guide helped you explore Ultralytics' YOLOv8 integration with Weights & Biases. It illustrates the ability of this integration to efficiently track and visualize model training and prediction results.

Более подробную информацию об использовании можно найти на сайте Weights & Biases' официальная документация.

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



Created 2023-12-28, Updated 2024-06-20
Authors: ambitious-octopus (1), glenn-jocher (8), IvorZhu331 (1), abirami-vina (1)

Комментарии