Link to this sectionУлучшение процесса обучения YOLO26: упрости ведение логов с помощью Comet#
Ведение логов ключевых параметров обучения, таких как гиперпараметры, метрики, предсказания на изображениях и чекпоинты модели, является важной частью машинного обучения — это обеспечивает прозрачность проекта, измеримость прогресса и воспроизводимость результатов.
Watch: How to Use Comet for Ultralytics YOLO Model Training Logs and Metrics 🚀
Ultralytics YOLO26 легко интегрируется с Comet (ранее Comet ML), эффективно фиксируя и оптимизируя каждый аспект процесса обучения модели обнаружения объектов YOLO26. В этом руководстве мы рассмотрим процесс установки, настройку 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 создаст эксперимент в твоём рабочем пространстве для автоматического отслеживания запуска. Ты получишь ссылку для просмотра детальных логов процесса обучения твоей модели YOLO26.
Comet автоматически логирует следующие данные без необходимости дополнительной настройки: метрики, такие как mAP и потери (loss), гиперпараметры, чекпоинты моделей, интерактивная матрица ошибок (confusion matrix) и предсказания ограничивающих рамок на изображениях.
Link to this sectionПонимание производительности твоей модели с помощью визуализаций Comet#
Давай разберёмся, что ты увидишь на панели инструментов Comet, как только твоя модель YOLO26 начнёт обучение. На этой панели происходит вся работа, она отображает ряд автоматически записанных данных с помощью графиков и статистики. Вот краткий обзор:
Панели экспериментов
Раздел панелей экспериментов на дашборде Comet организует и представляет различные запуски и их метрики, такие как потери сегментационной маски, потери по классам, точность (precision) и средняя точность (mAP).
Metrics (Метрики)
В разделе метрик у тебя также есть возможность просматривать показатели в табличном формате, который отображается на специальной панели, как показано здесь.
Интерактивная матрица ошибок
Матрица ошибок, расположенная во вкладке Confusion Matrix, предоставляет интерактивный способ оценки точности классификации модели. Она детализирует правильные и неверные предсказания, позволяя тебе понять сильные и слабые стороны модели.
Системные метрики
Comet записывает системные метрики, чтобы помочь выявить любые узкие места в процессе обучения. Сюда входят такие показатели, как использование GPU, использование памяти GPU, нагрузка на CPU и использование оперативной памяти. Они важны для мониторинга эффективности использования ресурсов во время обучения модели.
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 | Множитель, применяемый к оценкам уверенности (confidence scores) перед записью (интерфейс 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Масштабирование оценки уверенности#
Оценки уверенности (confidence scores) выводятся в диапазоне [0, 1], но интерфейс 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 с YOLO26 от Ultralytics. От установки до кастомизации, ты научился упрощать управление экспериментами, получать аналитику в реальном времени и адаптировать логирование под нужды своего проекта.
Ознакомься с официальной документацией по интеграции Comet с YOLOv8, которая также применима к проектам на YOLO26.
Более того, если ты хочешь глубже погрузиться в практическое применение YOLO26, в частности для задач сегментации изображений, это подробное руководство по тонкой настройке YOLO26 с помощью Comet предлагает ценные идеи и пошаговые инструкции для улучшения производительности твоей модели.
Кроме того, чтобы изучить другие захватывающие интеграции с Ultralytics, посети страницу руководства по интеграциям, где представлено множество ресурсов и информации.
Link to this sectionFAQ#
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" всё ещё работает, но выдаёт предупреждение об устаревании. Для получения более подробной информации смотри раздел Онлайн и офлайн режимы.