Улучшаем обучение YOLO26: упрости процесс логирования с помощью Comet
Логирование ключевых деталей обучения, таких как параметры, метрики, предсказания изображений и чекпоинты моделей, является важным этапом в machine learning — это обеспечивает прозрачность проекта, позволяет измерять прогресс и делает результаты воспроизводимыми.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 легко интегрируется с Comet (ранее Comet ML), эффективно фиксируя и оптимизируя каждый аспект процесса обучения твоей модели YOLO26 для object detection. В этом руководстве мы рассмотрим процесс установки, настройку Comet, получение аналитики в реальном времени, пользовательское логирование и использование в автономном режиме, чтобы твое обучение YOLO26 было полностью задокументировано и оптимизировано для достижения выдающихся результатов.
Comet
Comet — это платформа для отслеживания, сравнения, объяснения и оптимизации моделей машинного обучения и экспериментов. Она позволяет логировать метрики, параметры, медиафайлы и многое другое во время обучения модели, а также следить за ходом экспериментов через удобный веб-интерфейс. Comet помогает дата-сайентистам быстрее проводить итерации, повышает прозрачность и воспроизводимость, а также способствует разработке моделей для продакшена.
Используем мощь YOLO26 и Comet
Сочетая Ultralytics YOLO26 с Comet, ты получаешь ряд преимуществ. Это упрощенное управление экспериментами, аналитика в реальном времени для быстрых корректировок, гибкие и настроенные опции логирования, а также возможность логировать эксперименты офлайн, если интернет ограничен. Эта интеграция помогает тебе принимать решения на основе данных, анализировать метрики производительности и добиваться исключительных результатов.
Установка
Чтобы установить необходимые пакеты, выполни:
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvisionНастройка Comet
После установки необходимых пакетов тебе нужно зарегистрироваться, получить Comet API Key и настроить его.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYЗатем ты сможешь инициализировать свой проект Comet. Comet автоматически обнаружит API key и продолжит настройку.
import comet_ml
comet_ml.login(project_name="comet-example-yolo26-coco128")Если ты используешь ноутбук Google Colab, приведенный выше код предложит тебе ввести API key для инициализации.
Использование
Прежде чем переходить к инструкциям по использованию, обязательно ознакомься с ассортиментом YOLO26 models offered by Ultralytics. Это поможет тебе выбрать наиболее подходящую модель для требований твоего проекта.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(
data="coco8.yaml",
project="comet-example-yolo26-coco128",
batch=32,
save_period=1,
save_json=True,
epochs=3,
)После запуска кода обучения Comet создаст эксперимент в твоем рабочем пространстве Comet, чтобы автоматически отслеживать выполнение. Затем ты получишь ссылку, по которой сможешь просмотреть подробное логирование процесса YOLO26 model's training.
Comet автоматически логирует следующие данные без дополнительной настройки: метрики, такие как mAP и loss, гиперпараметры, чекпоинты модели, интерактивную матрицу ошибок (confusion matrix) и предсказания bounding box.
Понимание производительности модели с помощью визуализаций Comet
Давай разберемся, что ты увидишь на панели управления Comet, как только твоя модель YOLO26 начнет обучение. Панель управления — это место, где происходит вся работа, она отображает ряд автоматически залогированной информации с помощью графиков и статистики. Вот краткий обзор:
Панели экспериментов
Раздел панелей экспериментов на дашборде Comet организует и представляет различные запуски и их метрики, такие как segment mask loss, class loss, точность (precision) и mean average precision.
Метрики
В разделе метрик у тебя также есть возможность изучить метрики в табличном формате, который отображается в отдельной панели, как показано здесь.
Интерактивная Confusion Matrix
Confusion matrix, находящаяся на вкладке Confusion Matrix, предоставляет интерактивный способ оценки accuracy классификации модели. Она детализирует правильные и неправильные предсказания, позволяя понять сильные и слабые стороны модели.
Системные метрики
Comet логирует системные метрики, чтобы помочь выявить любые узкие места в процессе обучения. Сюда входят такие метрики, как загрузка GPU, использование памяти GPU, загрузка CPU и использование RAM. Они необходимы для контроля эффективности использования ресурсов во время обучения модели.
Настройка логирования Comet
Comet предлагает гибкость в настройке поведения логирования через переменные окружения. Эти конфигурации позволяют адаптировать Comet под твои конкретные нужды и предпочтения. Вот несколько полезных опций настройки:
Логирование предсказаний изображений
Ты можешь контролировать количество предсказаний изображений, которые Comet логирует во время экспериментов. По умолчанию Comet логирует 100 предсказаний из валидационного набора. Однако ты можешь изменить это число, чтобы оно лучше соответствовало твоим требованиям. Например, чтобы залогировать 200 предсказаний, используй следующий код:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Интервал логирования батчей
Comet позволяет указать, как часто логируются батчи предсказаний изображений. Переменная окружения COMET_EVAL_BATCH_LOGGING_INTERVAL управляет этой частотой. Значение по умолчанию — 1, что логирует предсказания из каждого валидационного батча. Ты можешь настроить это значение для логирования предсказаний с другим интервалом. Например, установка значения 4 будет логировать предсказания каждого четвертого батча.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Отключение логирования Confusion Matrix
В некоторых случаях тебе может не понадобиться логировать confusion matrix из валидационного набора после каждой epoch. Ты можешь отключить эту функцию, установив для переменной окружения COMET_EVAL_LOG_CONFUSION_MATRIX значение "false". Confusion matrix будет залогирована только один раз, после завершения обучения.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Автономное (офлайн) логирование
Если ты находишься в ситуации, где доступ к интернету ограничен, Comet предоставляет опцию офлайн-логирования. Ты можешь установить переменную окружения COMET_MODE в значение "offline", чтобы включить эту функцию. Данные твоего эксперимента будут сохранены локально в директории, которую ты позже сможешь загрузить в Comet, когда появится интернет.
import os
os.environ["COMET_MODE"] = "offline"Резюме
В этом руководстве мы прошли путь от интеграции Comet с Ultralytics YOLO26. От установки до настройки — ты узнал, как упростить управление экспериментами, получать аналитику в реальном времени и адаптировать логирование к потребностям своего проекта.
Изучи Comet's official YOLOv8 integration documentation, которая также применима к проектам YOLO26.
Более того, если ты хочешь глубже погрузиться в практическое применение YOLO26, в частности для задач image segmentation, это подробное руководство по fine-tuning YOLO26 with Comet предлагает ценные идеи и пошаговые инструкции для улучшения производительности твоей модели.
Кроме того, чтобы изучить другие интересные интеграции с Ultralytics, загляни на integration guide page, где представлено множество ресурсов и полезной информации.
Часто задаваемые вопросы (FAQ)
Как мне интегрировать Comet с Ultralytics YOLO26 для обучения?
Чтобы интегрировать Comet с Ultralytics YOLO26, выполни следующие шаги:
-
Установи необходимые пакеты:
pip install ultralytics comet_ml torch torchvision -
Настрой свой Comet API Key:
export COMET_API_KEY=YOUR_API_KEY -
Инициализируй проект Comet в своем коде Python:
import comet_ml comet_ml.login(project_name="comet-example-yolo26-coco128") -
Обучай свою модель YOLO26 и логируй метрики:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.train( data="coco8.yaml", project="comet-example-yolo26-coco128", batch=32, save_period=1, save_json=True, epochs=3, )
Для получения более подробных инструкций обратись к разделу Comet configuration section.
Какие преимущества использования Comet с YOLO26?
Интегрируя Ultralytics YOLO26 с Comet, ты можешь:
- Мониторить аналитику в реальном времени: Получай мгновенную обратную связь о результатах обучения, что позволяет вносить быстрые корректировки.
- Логировать обширные метрики: Автоматически захватывай важные метрики, такие как mAP, loss, гиперпараметры и чекпоинты модели.
- Отслеживать эксперименты офлайн: Логируй запуски обучения локально, когда нет доступа к интернету.
- Сравнивать различные запуски обучения: Используй интерактивный дашборд Comet для анализа и сравнения нескольких экспериментов.
Используя эти функции, ты можешь оптимизировать свои рабочие процессы машинного обучения для достижения лучшей производительности и воспроизводимости. Для получения дополнительной информации посети Comet integration guide.
Как мне настроить поведение логирования Comet во время обучения YOLO26?
Comet позволяет гибко настраивать поведение логирования с помощью переменных окружения:
-
Изменение количества логируемых предсказаний изображений:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Настройка интервала логирования батчей:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Отключение логирования Confusion Matrix:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
Обратись к разделу Customizing Comet Logging для получения дополнительных опций настройки.
Как мне просмотреть подробные метрики и визуализации моего обучения YOLO26 в Comet?
Как только твоя модель YOLO26 начнет обучение, ты получишь доступ к широкому спектру метрик и визуализаций на дашборде Comet. Основные функции включают:
- Панели экспериментов: Просматривай различные запуски и их метрики, включая segment mask loss, class loss и precision.
- Метрики: Изучай метрики в табличном формате для детального анализа.
- Интерактивная Confusion Matrix: Оценивай точность классификации с помощью интерактивной матрицы ошибок.
- Системные метрики: Отслеживай использование GPU и CPU, памяти и другие системные метрики.
Для детального обзора этих функций посети раздел Understanding Your Model's Performance with Comet Visualizations.
Могу ли я использовать Comet для офлайн-логирования при обучении моделей YOLO26?
Да, ты можешь включить офлайн-логирование в Comet, установив переменную окружения COMET_MODE в значение "offline":
import os
os.environ["COMET_MODE"] = "offline"Эта функция позволяет логировать данные эксперимента локально, которые позже можно будет загрузить в Comet, когда появится доступ к интернету. Это особенно полезно при работе в средах с ограниченным доступом к сети. Для получения более подробной информации обратись к разделу Offline Logging.