Ultralytics YOLO27: Запишись в список ожидания.
Начать

Визуализируй данные с помощью интеграции YOLO26 с TensorBoard#

Разобраться в моделях компьютерного зрения, например Ultralytics YOLO26, и точно настроить их проще, если подробнее изучить процесс обучения. Визуализация обучения моделей помогает понять особенности их обучения, метрики производительности и общее поведение. Интеграция YOLO26 с TensorBoard упрощает визуализацию и анализ, позволяя эффективнее и обоснованнее корректировать модель.

В этом руководстве рассказывается, как использовать TensorBoard с YOLO26. Ты узнаешь о разных способах визуализации: от отслеживания метрик до анализа графов модели. Эти инструменты помогут лучше понять производительность твоей модели YOLO26.

TensorBoard#

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

Обучение YOLO26 с TensorBoard#

Использовать TensorBoard во время обучения моделей YOLO26 просто и полезно.

Установка#

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

Установка
# Install YOLO26 and TensorBoard
pip install ultralytics tensorboard

TensorBoard — необязательная зависимость. После установки один раз включи обратный вызов с помощью yolo settings tensorboard=True; настройка сохранится для последующих запусков обучения.

Подробные инструкции и рекомендации по установке смотри в нашем руководстве по установке YOLO26. Если при установке необходимых пакетов для YOLO26 возникнут трудности, решения и советы найдёшь в нашем руководстве по распространённым проблемам.

Настройка TensorBoard для Google Colab#

При работе в Google Colab настрой TensorBoard до запуска кода обучения:

Настройка TensorBoard для Google Colab
%load_ext tensorboard
%tensorboard --logdir path/to/runs

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

Включение и отключение TensorBoard

По умолчанию ведение журналов TensorBoard отключено. Ты можешь включить или отключить его командой yolo settings.

# Enable TensorBoard logging
yolo settings tensorboard=True

# Disable TensorBoard logging
yolo settings tensorboard=False
Использование
from ultralytics import YOLO

# Загрузи предварительно обученную модель
model = YOLO("yolo26n.pt")

# Обучить модель
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

При запуске приведённого выше фрагмента кода ожидай следующий вывод:

TensorBoard: Start with 'tensorboard --logdir runs/detect/train', view at http://localhost:6006/

Этот вывод означает, что TensorBoard отслеживает текущий процесс обучения YOLO26. Открой панель TensorBoard по адресу localhost:6006, чтобы просматривать метрики обучения и производительность модели в реальном времени. В Google Colab TensorBoard отображается в той же ячейке, где ты выполнил команды настройки TensorBoard.

Дополнительную информацию об обучении модели см. в нашем руководстве по обучению модели YOLO26. Если ты хочешь узнать больше о журналировании, контрольных точках, построении графиков и управлении файлами, прочитай наше руководство по настройке.

Знакомство с TensorBoard при обучении YOLO26#

В этом разделе описаны основные функции и компоненты TensorBoard применительно к обучению YOLO26. Три основных раздела TensorBoard — временные ряды, скалярные значения и графы.

Временные ряды#

Функция временных рядов в TensorBoard позволяет подробно и наглядно отслеживать различные метрики обучения моделей YOLO26 с течением времени. Она показывает изменение метрик и их тенденции на протяжении эпох обучения. Вот пример того, что ты увидишь.

Визуализация метрик обучения во временных рядах TensorBoard

Ключевые функции временных рядов в TensorBoard#

  • Фильтрация тегов и закрепленные карточки: эта функция позволяет фильтровать отдельные метрики и закреплять карточки для быстрого сравнения и доступа. Она особенно полезна, если нужно сосредоточиться на определенных аспектах обучения.

  • Карточки с подробными метриками: раздел временных рядов распределяет метрики по категориям, например скорость обучения (lr), метрики обучения (train) и валидации (val), отображая каждую категорию на отдельной карточке.

  • Графическое представление: на каждой карточке в разделе временных рядов показан подробный график отдельной метрики на протяжении обучения. Такое представление помогает выявлять тенденции, закономерности и аномалии в процессе обучения.

  • Подробный анализ: временные ряды позволяют подробно анализировать каждую метрику. Например, отображаются различные интервалы скорости обучения, что помогает понять, как ее изменение влияет на кривую обучения модели.

Зачем нужны временные ряды при обучении YOLO26#

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

Скалярные значения#

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

Панель TensorBoard со скалярными метриками обучения YOLO

Основные возможности скаляров в TensorBoard#

  • Теги скорости обучения (lr): Эти теги показывают изменения скорости обучения в разных сегментах (например, lr/pg0, lr/pg1, lr/pg2). Они помогают понять, как корректировка скорости обучения влияет на процесс обучения.

  • Теги метрик: к скалярам относятся такие показатели эффективности, как:

    • metrics/mAP50(B): Средняя точность при пороге пересечения над объединением 50% (IoU), важная метрика для оценки точности обнаружения объектов.

    • metrics/mAP50-95(B): Средняя точность, рассчитанная для диапазона порогов IoU, обеспечивает более полную оценку точности.

    • metrics/precision(B): Точность обнаружений — доля правильных положительных предсказаний.

    • metrics/recall(B): Эта метрика важна для моделей, где пропуск обнаружения обходится дорого. Полнота показывает, насколько хорошо модель обнаруживает все релевантные объекты.

    • Чтобы узнать больше о разных метриках, прочитай наше руководство по метрикам эффективности.

  • Теги обучения и валидации (train, val): эти теги показывают метрики отдельно для обучающего и валидационного наборов данных, что позволяет сравнивать эффективность модели на разных наборах данных.

Важность мониторинга скалярных метрик#

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

Разница между скалярными метриками и временными рядами#

Скалярные метрики и временные ряды в TensorBoard используются для отслеживания метрик, но служат несколько разным целям. Раздел Scalars отображает простые метрики, например потери и точность, в виде скалярных значений. Он даёт общее представление о том, как эти метрики меняются с каждой эпохой обучения. Раздел временных рядов в TensorBoard, в свою очередь, показывает метрики на подробной временной шкале. Он особенно полезен для отслеживания динамики и тенденций метрик с течением времени и позволяет глубже изучить детали процесса обучения.

Графы#

В разделе «Графы» TensorBoard визуализирует вычислительный граф модели YOLO26 и показывает, как в ней выполняются операции и передаются данные. Это помогает понять структуру модели, проверить правильность соединения всех слоёв и обнаружить возможные узкие места при передаче данных. Вот пример того, что ты увидишь.

Визуализация вычислительного графа модели YOLO в TensorBoard

Графы особенно полезны при отладке модели, в частности сложных архитектур, характерных для моделей глубокого обучения, таких как YOLO26. Они помогают проверить связи между слоями и общую структуру модели.

Итоги#

Это руководство поможет тебе использовать TensorBoard с YOLO26 для визуализации и анализа обучения моделей машинного обучения. В нём объясняется, как ключевые функции TensorBoard помогают анализировать метрики обучения и эффективность модели во время обучения YOLO26.

Чтобы подробнее изучить эти функции и эффективные способы их применения, обратись к официальной документации TensorBoard и репозиторию на GitHub TensorFlow.

Часто задаваемые вопросы#

  • TensorBoard с YOLO26 предоставляет несколько инструментов визуализации, необходимых для эффективного обучения модели:

    • Отслеживание метрик в реальном времени: отслеживай в реальном времени ключевые метрики: потери, точность, precision и полноту.
    • Визуализация графа модели: изучай и отлаживай архитектуру модели с помощью визуализации вычислительных графов.

    Эти инструменты помогут тебе принимать обоснованные решения и повышать эффективность модели YOLO26. Подробнее о функциях TensorBoard читай в руководстве по TensorBoard от TensorFlow.

  • Чтобы отслеживать метрики обучения модели YOLO26 с помощью TensorBoard, выполни следующие действия:

    1. Установи TensorBoard и YOLO26: выполни pip install ultralytics tensorboard.
    2. Включи ведение журналов TensorBoard: выполни yolo settings tensorboard=True. Во время обучения YOLO26 записывает метрики в каталог запуска.
    3. Запусти TensorBoard: запусти TensorBoard командой tensorboard --logdir path/to/runs, указав каталог запуска обучения (например, runs/detect/train).

    Панель TensorBoard, доступная по адресу localhost:6006, показывает различные метрики обучения в реальном времени. Подробнее о настройках обучения читай в нашем руководстве по конфигурации YOLO26.

  • При обучении моделей YOLO26 TensorBoard позволяет визуализировать целый ряд важных метрик, в том числе:

    • Потери (обучение и валидация): показывают, насколько хорошо модель работает во время обучения и валидации.
    • Точность/Precision/полнота: Ключевые метрики производительности для оценки точности обнаружения.
    • Скорость обучения: отслеживай изменения скорости обучения, чтобы понимать, как они влияют на динамику обучения.
    • mAP (средняя точность): комплексная оценка точности обнаружения объектов при различных пороговых значениях IoU.

    Эти визуализации необходимы для отслеживания эффективности модели и внесения необходимых оптимизаций. Подробнее об этих метриках читай в нашем руководстве по метрикам эффективности.

  • Да, TensorBoard можно использовать в Google Colab для обучения моделей YOLO26. Вот краткая инструкция по настройке:

    Настройка TensorBoard для Google Colab
    %load_ext tensorboard
    %tensorboard --logdir path/to/runs

    Затем запусти скрипт обучения YOLO26:

    from ultralytics import YOLO
    
    # Загрузи предварительно обученную модель
    model = YOLO("yolo26n.pt")
    
    # Обучить модель
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Комментарии6

Задай вопрос, поделись результатами или помоги кому-нибудь.

  1. HoseinHashemiHoseinHashemiGitHub

    I found enabling tensorboard from within the YOLO training script more comfortable reducing CLI commands.

    from ultralytics import settings
    settings.update({"tensorboard": True})
    1. Glenn JocherGlenn JocherUltralytics

      Yes, that’s supported—settings.update({"tensorboard": True}) is a nice way to enable logging from Python (it persists in your Ultralytics settings across runs), and you can disable it later with settings.update({"tensorboard": False}); details on where logs are written and how to view them are in the TensorBoard integration guide (feel free to drop any follow-up questions here so the team can see them).

    1. Glenn JocherGlenn JocherUltralytics(изменено)

      @ruslanraupoff to forward TensorBoard from Docker, map the port using -p 6006:6006 when running your container and start TensorBoard with tensorboard --logdir /path/to/runs. Yes, you can use YOLO CLI for training; enable TensorBoard logging once with yolo settings tensorboard=True and the logs are saved in the run directory under runs/ for TensorBoard visualization. See our Docker Quickstart for setup details.

      1
    1. Glenn JocherGlenn JocherUltralytics(изменено)

      @lauravchrobak hi there!

      Thank you for pointing that out. It seems like the code snippet got truncated. Here's the complete usage example for integrating YOLO26 with TensorBoard. First enable the setting once:

      yolo settings tensorboard=True
      from ultralytics import YOLO
      
      # Load a pre-trained model
      model = YOLO("yolo26n.pt")
      
      # Train the model
      results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

      After starting the training code, start TensorBoard on the run directory printed in the log to visualize the training metrics:

      tensorboard --logdir runs/detect/train

      You can then access the TensorBoard dashboard at http://localhost:6006/ to monitor your training progress in real-time.

      For more detailed guidance, you can visit our TensorBoard integration documentation.

      If you encounter any issues, please ensure you are using the latest version of the Ultralytics package. If the problem persists, providing a minimum reproducible example would be very helpful. You can find more information on how to create one here.

      Happy training! 🚀