Link to this sectionУлучшаем обучение YOLO26: упрости процесс логирования с помощью Comet#
Логирование ключевых деталей обучения, таких как параметры, метрики, предсказания изображений и чекпоинты моделей, необходимо в машинном обучении — это делает твой проект прозрачным, прогресс — измеримым, а результаты — воспроизводимыми.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 легко интегрируется с Comet (ранее Comet ML), эффективно фиксируя и оптимизируя каждый аспект процесса обучения твоей модели обнаружения объектов. В этом руководстве мы рассмотрим процесс установки, настройку Comet, получение аналитики в реальном времени, пользовательское логирование и использование в офлайн-режиме, чтобы обучение YOLO26 было тщательно задокументировано и настроено для достижения выдающихся результатов.
Link to this sectionComet#
Comet — это платформа для отслеживания, сравнения, интерпретации и оптимизации моделей машинного обучения и экспериментов. Она позволяет логировать метрики, параметры, медиафайлы и многое другое во время обучения модели, а также отслеживать эксперименты через эстетичный веб-интерфейс. Comet помогает дата-сайентистам быстрее проводить итерации, повышает прозрачность и воспроизводимость, а также способствует разработке продакшн-моделей.
Link to this sectionИспользование возможностей YOLO26 и Comet#
Объединяя Ultralytics YOLO26 с Comet, ты получаешь ряд преимуществ. К ним относятся упрощенное управление экспериментами, аналитика в реальном времени для быстрых правок, гибкие и адаптируемые параметры логирования, а также возможность логировать эксперименты офлайн, когда доступ в интернет ограничен. Эта интеграция позволяет тебе принимать решения на основе данных, анализировать метрики производительности и добиваться исключительных результатов.
Link to this sectionУстановка#
Чтобы установить необходимые пакеты, выполни:
# Install the required packages for YOLO26 and Comet
pip install ultralytics comet_ml torch torchvisionLink to this sectionНастройка Comet#
После установки необходимых пакетов тебе нужно зарегистрироваться, получить API-ключ Comet и настроить его.
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEYЗатем ты можешь инициализировать свой проект Comet. Comet автоматически обнаружит API-ключ и продолжит настройку.
import comet_ml
comet_ml.login(project_name="comet-example-yolo26-coco128")Если ты используешь блокнот Google Colab, приведенный выше код предложит тебе ввести API-ключ для инициализации.
Link to this sectionИспользование#
Прежде чем погрузиться в инструкции по использованию, обязательно ознакомься с рядом моделей 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 и лосс, гиперпараметры, чекпоинты моделей, интерактивную матрицу ошибок (confusion matrix) и предсказания ограничивающих рамок на изображениях.
Link to this sectionПонимание производительности твоей модели с помощью визуализаций Comet#
Давай разберем, что ты увидишь на дашборде Comet, как только твоя модель YOLO26 начнет обучение. Дашборд — это место, где происходит всё основное действие, представляя ряд автоматически записанной информации через графики и статистику. Вот краткий обзор:
Панели экспериментов
Раздел панелей экспериментов на дашборде Comet организует и представляет различные запуски и их метрики, такие как лосс сегментационной маски, лосс классов, точность и средняя точность (mAP).
Метрики
В разделе метрик у тебя также есть возможность просматривать метрики в табличном формате, который отображается на специальной панели, как показано здесь.
Интерактивная матрица ошибок
Матрица ошибок, которую можно найти во вкладке Confusion Matrix, предоставляет интерактивный способ оценки точности классификации модели. Она детализирует правильные и неправильные предсказания, позволяя тебе понять сильные и слабые стороны модели.
Системные метрики
Comet логирует системные метрики, чтобы помочь выявить любые узкие места в процессе обучения. Сюда входят такие метрики, как загрузка GPU, использование памяти GPU, загрузка CPU и использование оперативной памяти (RAM). Они важны для мониторинга эффективности использования ресурсов во время обучения модели.
Link to this sectionНастройка логирования в Comet#
Comet предлагает гибкость в настройке своего поведения при логировании путем установки переменных окружения. Эти конфигурации позволяют адаптировать Comet под твои конкретные нужды и предпочтения. Колбэк Ultralytics считывает следующие переменные окружения (установи их перед началом обучения):
| Переменная окружения | По умолчанию | Описание |
|---|---|---|
COMET_START_ONLINE | 1 | Запуск эксперимента в онлайн (1) или офлайн (0) режиме. |
COMET_PROJECT_NAME | args.project | Проект в рабочем пространстве Comet. Если не задано, возвращается к аргументу обучения YOLO project. |
COMET_MODEL_NAME | Ultralytics | Имя, зарегистрированное для залогированного артефакта модели. |
COMET_MAX_IMAGE_PREDICTIONS | 100 | Общее количество предсказаний на валидационных изображениях для логирования за один запуск. |
COMET_EVAL_BATCH_LOGGING_INTERVAL | 1 | Логировать предсказания на изображениях каждый N-й валидационный батч. |
COMET_EVAL_LOG_IMAGE_PREDICTIONS | true | Включить (true) или выключить (false) логирование предсказаний на изображениях. |
COMET_EVAL_LOG_CONFUSION_MATRIX | false | Логировать матрицу ошибок на каждой валидационной эпохе. Финальная матрица всегда логируется в конце обучения. |
COMET_MAX_CONFIDENCE_SCORE | 100.0 | Множитель, применяемый к оценкам уверенности детекции перед логированием (UI Comet ожидает процентную шкалу). |
COMET_MODE (устарело) | online | Устаревший псевдоним COMET_START_ONLINE ("online" ↔ 1, "offline" ↔ 0). Выдает предупреждение об устаревании. |
Link to this sectionЛогирование предсказаний на изображениях#
Ты можешь контролировать количество предсказаний на изображениях, которые Comet логирует во время твоих экспериментов. По умолчанию Comet логирует 100 предсказаний из валидационного набора. Однако ты можешь изменить это число, чтобы оно лучше соответствовало твоим требованиям. Например, чтобы залогировать 200 предсказаний, используй следующий код:
import os
os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"Чтобы полностью отключить логирование предсказаний на изображениях (например, чтобы уменьшить объем загрузки при медленном соединении), установи COMET_EVAL_LOG_IMAGE_PREDICTIONS в "false":
import os
os.environ["COMET_EVAL_LOG_IMAGE_PREDICTIONS"] = "false"Link to this sectionИнтервал логирования батчей#
Comet позволяет указать, как часто логируются батчи предсказаний на изображениях. Переменная окружения COMET_EVAL_BATCH_LOGGING_INTERVAL управляет этой частотой. По умолчанию установлено значение 1, которое логирует предсказания из каждого валидационного батча. Ты можешь настроить это значение, чтобы логировать предсказания с другим интервалом. Например, установка значения 4 будет логировать предсказания каждого четвертого батча.
import os
os.environ["COMET_EVAL_BATCH_LOGGING_INTERVAL"] = "4"Link to this sectionОтключение логирования матрицы ошибок#
В некоторых случаях ты можешь не захотеть логировать матрицу ошибок из твоего валидационного набора после каждой эпохи. Ты можешь отключить эту функцию, установив переменную окружения COMET_EVAL_LOG_CONFUSION_MATRIX в значение "false". Матрица ошибок будет залогирована только один раз, после завершения обучения.
import os
os.environ["COMET_EVAL_LOG_CONFUSION_MATRIX"] = "false"Link to this sectionОнлайн и офлайн режим#
По умолчанию Comet работает в онлайн-режиме и транслирует данные экспериментов на серверы Comet. Если тебе нужно проводить обучение без доступа в интернет, установи COMET_START_ONLINE=0 перед началом обучения. Данные эксперимента сохраняются локально и могут быть загружены позже с помощью CLI comet upload.
import os
os.environ["COMET_START_ONLINE"] = "0" # 1 (default) = online, 0 = offlineБолее ранние версии использовали COMET_MODE="offline" для этой цели. Переменная всё еще поддерживается для обратной совместимости, но выдает предупреждение об устаревании. В дальнейшем используй COMET_START_ONLINE.
Link to this sectionИмя проекта#
По умолчанию колбэк Comet передает аргумент обучения YOLO project в Comet (или None, когда аргумент не задан; в этом случае Comet использует значение по умолчанию твоего рабочего пространства). Переопредели это с помощью COMET_PROJECT_NAME, чтобы отправлять все эксперименты в конкретный проект рабочего пространства Comet независимо от аргумента обучения YOLO:
import os
os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"Link to this sectionИмя артефакта модели#
COMET_MODEL_NAME задает имя, под которым Comet регистрирует залогированный артефакт модели (по умолчанию Ultralytics). Используй его, чтобы различать варианты моделей в общем рабочем пространстве:
import os
os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"Link to this sectionМасштабирование оценки уверенности#
Оценки уверенности детекции выводятся в диапазоне [0, 1], но UI Comet по умолчанию отображает их в процентной шкале. Колбэк умножает каждую оценку на COMET_MAX_CONFIDENCE_SCORE (по умолчанию 100.0) перед логированием. Настрой это, если предпочитаешь исходные вероятности или другой масштаб:
import os
os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0" # log raw [0, 1] scoresLink to this sectionРезюме#
Это руководство провело тебя через интеграцию Comet с Ultralytics YOLO26. От установки до настройки — ты научился оптимизировать управление экспериментами, получать аналитику в реальном времени и адаптировать логирование к потребностям твоего проекта.
Ознакомься с официальной документацией Comet по интеграции с YOLOv8, которая также применима к проектам YOLO26.
Более того, если ты хочешь углубиться в практическое применение YOLO26, в частности для задач сегментации изображений, это подробное руководство по тонкой настройке YOLO26 с Comet предлагает ценную информацию и пошаговые инструкции для улучшения производительности твоей модели.
Кроме того, чтобы изучить другие захватывающие интеграции с Ultralytics, загляни на страницу руководства по интеграции, которая предлагает массу ресурсов и информации.
Link to this sectionЧАВО#
Link to this sectionКак интегрировать Comet с Ultralytics YOLO26 для обучения?#
Чтобы интегрировать Comet с Ultralytics YOLO26, выполни следующие шаги:
-
Установи необходимые пакеты:
pip install ultralytics comet_ml torch torchvision -
Настрой свой API-ключ Comet:
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.
Link to this sectionКаковы преимущества использования Comet с YOLO26?#
Интегрируя Ultralytics YOLO26 с Comet, ты можешь:
- Мониторить аналитику в реальном времени: получать мгновенную обратную связь о результатах обучения, позволяющую вносить быстрые коррективы.
- Логировать обширные метрики: автоматически фиксировать важные метрики, такие как mAP, лосс, гиперпараметры и чекпоинты моделей.
- Отслеживать эксперименты офлайн: логировать свои запуски обучения локально, когда нет доступа в интернет.
- Сравнивать различные запуски обучения: использовать интерактивный дашборд Comet для анализа и сравнения нескольких экспериментов.
Используя эти функции, ты можешь оптимизировать свои рабочие процессы машинного обучения для достижения лучшей производительности и воспроизводимости. Для получения дополнительной информации посети руководство по интеграции Comet.
Link to this sectionКак настроить поведение логирования 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:
import os os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments" -
Установи имя артефакта зарегистрированной модели:
import os os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"
См. раздел Настройка логирования Comet для получения полного списка, включая переключатели прогнозирования изображений, масштабирование показателей достоверности и онлайн/офлайн режимы.
Link to this sectionКак мне просмотреть подробные метрики и визуализации обучения моей модели YOLO26 в Comet?#
Как только твоя модель YOLO26 начнет обучение, ты сможешь получить доступ к широкому спектру метрик и визуализаций на панели управления Comet. Основные функции включают:
- Панели экспериментов: Просматривай различные запуски и их метрики, включая потерю сегментной маски, потерю класса и среднюю точность.
- Метрики: Изучай метрики в табличном формате для детального анализа.
- Интерактивная матрица ошибок: Оценивай точность классификации с помощью интерактивной матрицы ошибок.
- Системные метрики: Отслеживай загрузку GPU и CPU, использование памяти и другие системные метрики.
Для подробного обзора этих функций посети раздел Понимание производительности твоей модели с визуализациями Comet.
Link to this sectionМогу ли я использовать Comet для офлайн-логирования при обучении моделей YOLO26?#
Да. Установи COMET_START_ONLINE=0 перед началом обучения для локального логирования:
import os
os.environ["COMET_START_ONLINE"] = "0"Данные эксперимента сохраняются на диске и могут быть загружены в Comet позже с помощью CLI-команды comet upload, когда появится подключение. Ранее использовавшаяся переменная COMET_MODE="offline" все еще работает, но вызывает предупреждение об устаревании. Дополнительные детали см. в разделе Онлайн и офлайн режимы.