YOLO Vision 2026:

Улучшение процесса обучения 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 ML experiment tracking dashboard

Comet — это платформа для отслеживания, сравнения, объяснения и оптимизации моделей и экспериментов машинного обучения. Она позволяет логировать метрики, параметры, медиаданные и многое другое во время обучения модели, а также следить за экспериментами через удобный веб-интерфейс. Comet помогает дата-саентистам быстрее проводить итерации, повышает прозрачность и воспроизводимость, а также способствует разработке продакшн-моделей.

Используй мощь YOLO26 и Comet#

Объединяя Ultralytics YOLO26 с Comet, ты получаешь ряд преимуществ. Сюда входят упрощённое управление экспериментами, аналитика в реальном времени для быстрых корректировок, гибкие возможности логирования и возможность записывать эксперименты в автономном режиме, когда доступ к интернету ограничен. Эта интеграция позволяет тебе принимать решения на основе данных, анализировать метрики производительности и добиваться исключительных результатов.

Установка#

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

Установка
# Install YOLO26 and Comet
pip install ultralytics comet_ml

Настройка Comet#

После установки необходимых пакетов тебе нужно зарегистрироваться, получить ключ API Comet и настроить его.

Настройка Comet
# Set your Comet API Key
export COMET_API_KEY=YOUR_API_KEY

Затем пройди аутентификацию в Comet. Коллбэк Ultralytics создаёт эксперимент и использует аргумент обучения YOLO project в качестве названия проекта Comet.

Инициализация проекта Comet
import comet_ml

comet_ml.login()

Если ты используешь ноутбук Google Colab, приведённый выше код предложит тебе ввести API-ключ для инициализации.

Использование#

Прежде чем погружаться в инструкции по использованию, обязательно ознакомься с ассортиментом моделей 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 и потери, гиперпараметры, контрольные точки модели, интерактивную матрицу ошибок и предсказания ограничивающих рамок для изображений.

Понимание производительности твоей модели с помощью визуализаций Comet#

Давай разберёмся, что ты увидишь на панели инструментов Comet, как только твоя модель YOLO26 начнёт обучение. На этой панели происходит вся работа, она отображает ряд автоматически записанных данных с помощью графиков и статистики. Вот краткий обзор:

Панели экспериментов

Раздел панелей экспериментов в панели управления Comet упорядочивает и представляет различные запуски и их метрики, такие как потери маски сегмента, потери класса, точность и среднюю точность.

Comet ML experiment tracking dashboard

Metrics (Метрики)

В разделе метрик у тебя также есть возможность просматривать показатели в табличном формате, который отображается на специальной панели, как показано здесь.

Comet ML experiment tracking dashboard

Интерактивная матрица ошибок

Матрица ошибок, расположенная на вкладке Confusion Matrix, представляет собой интерактивный способ оценки точности классификации модели. В ней подробно описаны правильные и неправильные предсказания, что позволяет понять сильные и слабые стороны модели.

Comet ML experiment tracking dashboard

Системные метрики

Comet записывает системные метрики, чтобы помочь выявить любые узкие места в процессе обучения. Сюда входят такие показатели, как использование GPU, использование памяти GPU, нагрузка на CPU и использование оперативной памяти. Они важны для мониторинга эффективности использования ресурсов во время обучения модели.

Comet ML experiment tracking dashboard

Настройка логирования Comet#

Comet предлагает гибкость в настройке поведения логирования путём установки переменных окружения. Эти конфигурации позволяют тебе настроить Comet под свои специфические нужды и предпочтения. Колбэк Ultralytics считывает следующие переменные окружения (установи их до начала обучения):

Переменная окруженияПо умолчаниюОписание
COMET_START_ONLINE1Запусти эксперимент в онлайн (1) или офлайн (0) режиме.
COMET_PROJECT_NAMEargs.projectПроект в рабочем пространстве Comet. Если значение не задано, используется аргумент обучения YOLO project.
COMET_MODEL_NAMEUltralyticsИмя, зарегистрированное для залогированного артефакта модели.
COMET_MAX_IMAGE_PREDICTIONS100Общее количество предсказаний на изображениях валидации для записи за один запуск.
COMET_EVAL_BATCH_LOGGING_INTERVAL1Записывать предсказания на изображениях каждый N-й валидационный батч.
COMET_EVAL_LOG_IMAGE_PREDICTIONStrueВключить (true) или выключить (false) логирование предсказаний изображений.
COMET_EVAL_LOG_CONFUSION_MATRIXfalseЗаписывать матрицу ошибок на каждой эпохе валидации. Финальная матрица всегда записывается в конце обучения.
COMET_MAX_CONFIDENCE_SCORE100.0Множитель, применяемый к оценкам уверенности (confidence scores) перед записью (интерфейс Comet ожидает процентную шкалу).
COMET_MODE (устарело)onlineУстаревший псевдоним COMET_START_ONLINE ("online"1, "offline"0). Выводит предупреждение об устаревании.

Для логических переключателей (COMET_EVAL_LOG_IMAGE_PREDICTIONS и COMET_EVAL_LOG_CONFUSION_MATRIX) значения 1, true, yes, on, y и t распознаются как True (без учета регистра). Любое другое значение интерпретируется как False.

Логирование предсказаний на изображениях#

Ты можешь контролировать количество предсказаний на изображениях, которые 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"

Интервал записи батчей#

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. Если тебе нужно проводить обучение без доступа к интернету, установи COMET_START_ONLINE=0 перед началом обучения. Данные эксперимента сохраняются локально и могут быть загружены позже с помощью CLI comet upload.

import os

os.environ["COMET_START_ONLINE"] = "0"  # 1 (default) = online, 0 = offline
`COMET_MODE` устарел

В более ранних версиях для этого использовалась переменная COMET_MODE="offline". Эта переменная по-прежнему поддерживается для обратной совместимости, но выводит предупреждение об устаревании. В дальнейшем используй COMET_START_ONLINE.

Имя проекта#

По умолчанию обратный вызов Comet передает аргумент обучения YOLO project в Comet (или None, если аргумент не задан; в этом случае Comet использует значение по умолчанию для твоего рабочего пространства). Переопредели это с помощью COMET_PROJECT_NAME, чтобы отправлять все эксперименты в определенный проект рабочего пространства Comet независимо от аргумента обучения YOLO:

import os

os.environ["COMET_PROJECT_NAME"] = "my-yolo26-experiments"

Имя артефакта модели#

COMET_MODEL_NAME задает имя, под которым Comet регистрирует залогированный артефакт модели (по умолчанию Ultralytics). Используй его для различения вариантов моделей в общем рабочем пространстве:

import os

os.environ["COMET_MODEL_NAME"] = "yolo26n-coco128"

Масштабирование оценки уверенности#

Оценки уверенности детекции выводятся в диапазоне [0, 1], но по умолчанию интерфейс Comet отображает их в процентах. Обратный вызов умножает каждую оценку на COMET_MAX_CONFIDENCE_SCORE (по умолчанию 100.0) перед логированием. Настрой это, если предпочитаешь «сырые» вероятности или другую шкалу:

import os

os.environ["COMET_MAX_CONFIDENCE_SCORE"] = "1.0"  # log raw [0, 1] scores

Резюме#

Это руководство провело тебя через процесс интеграции Comet с YOLO26 от Ultralytics. От установки до кастомизации, ты научился упрощать управление экспериментами, получать аналитику в реальном времени и адаптировать логирование под нужды своего проекта.

Ознакомься с официальной документацией по интеграции YOLOv8 с Comet, которая также применима к проектам на YOLO26.

Кроме того, если ты хочешь глубже погрузиться в практическое применение YOLO26, в частности для задач сегментации изображений, это подробное руководство по тонкой настройке YOLO26 с помощью Comet предлагает ценные сведения и пошаговые инструкции для повышения производительности твоей модели.

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

FAQ#

  • Чтобы интегрировать Comet с Ultralytics YOLO26, выполни следующие шаги:

    1. Установи необходимые пакеты:

      pip install ultralytics comet_ml
    2. Настрой свой API-ключ Comet:

      export COMET_API_KEY=YOUR_API_KEY
    3. Пройди аутентификацию в Comet в своём коде Python:

      import comet_ml
      
      comet_ml.login()
    4. Обучай свою модель 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.

  • Интегрируя Ultralytics YOLO26 с Comet, ты можешь:

    • Мониторить аналитику в реальном времени: получай мгновенную обратную связь о результатах обучения, что позволяет быстро вносить коррективы.
    • Логировать обширные метрики: автоматически фиксируй важные показатели, такие как mAP, потери, гиперпараметры и чекпоинты моделей.
    • Отслеживать эксперименты офлайн: записывай запуски обучения локально, когда доступ к интернету недоступен.
    • Сравнивать различные запуски обучения: используй интерактивный дашборд Comet для анализа и сравнения нескольких экспериментов.

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

  • 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 для получения полного списка, включая переключатели предсказаний изображений, масштабирование оценок уверенности и онлайн/офлайн-режим.

  • Как только твоя модель YOLO26 начнёт обучение, ты получишь доступ к широкому спектру метрик и визуализаций на дашборде Comet. Основные функции включают:

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

    Для подробного обзора этих функций посети раздел Понимание производительности модели с помощью визуализации в Comet.

  • Да. Установи COMET_START_ONLINE=0 перед началом обучения для локального логирования:

    import os
    
    os.environ["COMET_START_ONLINE"] = "0"

    Данные эксперимента сохраняются на диске и могут быть загружены в Comet позже с помощью CLI comet upload, когда появится связь. Более старая переменная COMET_MODE="offline" все еще работает, но выдает предупреждение об устаревании. Для получения более подробной информации см. раздел Онлайн и офлайн-режим.

Комментарии