Улучшаем обучение YOLO26: упрости процесс логирования с помощью Comet
Логирование ключевых деталей обучения, таких как параметры, метрики, предсказания изображений и контрольные точки модели, является обязательным в машинного обучения— это сохраняет прозрачность твоего проекта, измеримость прогресса и повторяемость результатов.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 бесшовно интегрируется с Comet (ранее Comet ML), эффективно фиксируя и оптимизируя каждый аспект процесса обучения твоей модели YOLO26 обнаружения объектов В этом руководстве мы рассмотрим процесс установки, настройку 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, предлагаемых 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.
Comet автоматически логирует следующие данные без дополнительной настройки: метрики, такие как mAP и loss, гиперпараметры, контрольные точки модели, интерактивную матрицу ошибок (confusion matrix) и bounding box предсказания изображений.
Понимание производительности модели с помощью визуализаций Comet
Давай разберемся, что ты увидишь на дашборде Comet, как только твоя модель YOLO26 начнет обучение. Дашборд — это место, где происходит всё самое интересное, здесь представлены все автоматически логируемые данные через визуальные графики и статистику. Вот краткий обзор:
Панели экспериментов
Раздел панелей экспериментов на дашборде Comet организует и представляет различные запуски и их метрики, такие как loss масок сегментации, loss классов, precision и mean average precision.
Метрики
В разделе метрик у тебя также есть возможность изучить их в табличном формате, который отображается на отдельной панели, как показано здесь.
Интерактивная Матрица ошибок (Confusion Matrix)
Матрица ошибок, расположенная на вкладке Confusion Matrix, предоставляет интерактивный способ оценки точности классификации модели. Она детально показывает правильные и неправильные предсказания, позволяя понять сильные и слабые стороны модели.
Системные метрики
Comet логирует системные метрики, чтобы помочь выявить любые «бутылочные горлышки» в процессе обучения. Включаются такие метрики, как загрузка GPU, использование видеопамяти, загрузка CPU и использование оперативной памяти. Они необходимы для мониторинга эффективности использования ресурсов во время обучения модели.
Настройка логирования 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"Отключение логирования матрицы ошибок
В некоторых случаях тебе может не понадобиться логировать матрицу ошибок из валидационного набора после каждой эпоха. Ты можешь отключить эту функцию, установив для переменной окружения COMET_EVAL_LOG_CONFUSION_MATRIX значение "false". Матрица ошибок будет залогирована только один раз, после завершения обучения.
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 и YOLOv8, которая также применима к проектам на YOLO26.
Более того, если ты хочешь углубиться в практическое применение YOLO26, в частности для задач и , это подробное руководство по тонкой настройке YOLO26 с Comet предлагает ценные идеи и пошаговые инструкции для улучшения производительности твоей модели.
Кроме того, чтобы изучить другие интересные интеграции с Ultralytics, ознакомься со страницей руководств по интеграции, которая предлагает массу ресурсов и информации.
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.
Каковы преимущества использования Comet с YOLO26?
Интегрируя Ultralytics YOLO26 с Comet, ты можешь:
- Отслеживать аналитику в реальном времени: Получай мгновенную обратную связь о результатах обучения, что позволяет быстро вносить коррективы.
- Логировать обширные метрики: Автоматически фиксируй ключевые метрики, такие как mAP, loss, гиперпараметры и контрольные точки модели.
- Отслеживать эксперименты офлайн: Логируй свои запуски обучения локально, когда нет доступа к интернету.
- Сравнивать разные запуски обучения: Используй интерактивный дашборд Comet для анализа и сравнения нескольких экспериментов.
Используя эти функции, ты можешь оптимизировать свои рабочие процессы машинного обучения для повышения производительности и воспроизводимости. Для получения дополнительной информации посети руководство по интеграции Comet.
Как настроить поведение логирования Comet во время обучения YOLO26?
Comet позволяет гибко настраивать поведение логирования с помощью переменных окружения:
-
Изменяй количество логируемых предсказаний изображений:
import os os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200" -
Настраивай интервал логирования батчей:
import os os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4" -
Отключай логирование матрицы ошибок:
import os os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"
Обратись к Настройка логирования Comet раздел для получения дополнительных опций настройки.
Как просматривать подробные метрики и визуализации обучения YOLO26 в Comet?
Как только твоя модель YOLO26 начнет обучение, ты получишь доступ к широкому спектру метрик и визуализаций на дашборде Comet. Основные функции включают:
- Панели экспериментов: Просматривай разные запуски и их метрики, включая loss масок сегментации, loss классов и mean average точностью.
- Метрики: Изучай метрики в табличном формате для детального анализа.
- Интерактивная матрица ошибок: Оценивай точность классификации с помощью интерактивной матрицы ошибок.
- Системные метрики: Мониторь загрузку GPU и CPU, использование памяти и другие системные метрики.
Для получения подробного обзора этих функций посети Понимание производительности модели с помощью визуализаций Comet.
Могу ли я использовать Comet для офлайн-логирования при обучении моделей YOLO26?
Да, ты можешь включить офлайн-логирование в Comet, установив переменную окружения COMET_MODE в значение "offline":
import os
os.environ["COMET_MODE"] = "offline"Эта функция позволяет тебе логировать данные эксперимента локально, которые впоследствии можно загрузить в Comet при появлении доступа к интернету. Это особенно полезно при работе в средах с ограниченным доступом к сети. Более подробную информацию см. в Офлайн-логирование.