Перейти к содержимому

Тренировка Elevating YOLOv8 : Упрости свой процесс записи логов с помощью Comet ML

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

Ultralytics YOLOv8 легко интегрируется с Comet ML, эффективно фиксируя и оптимизируя каждый аспект процесса обучения твоей YOLOv8 модели обнаружения объектов. В этом руководстве мы расскажем о процессе установки, настройке Comet ML, анализе в реальном времени, ведении пользовательского журнала и использовании в автономном режиме, чтобы гарантировать, что твое обучение YOLOv8 будет тщательно задокументировано и отлажено для достижения выдающихся результатов.

Comet ML

Comet Обзор ML

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

Используй мощь YOLOv8 и Comet ML

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

Установка

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

Установка

# Install the required packages for YOLOv8 and Comet ML
pip install ultralytics comet_ml torch torchvision

Настройка Comet ML

After installing the required packages, you'll need to sign up, get a Comet API Key, and configure it.

Настройка Comet ML

# Set your Comet Api Key
export COMET_API_KEY=<Your API Key>

Затем ты можешь инициализировать свой проект Comet. Comet автоматически определит ключ API и приступит к настройке.

import comet_ml

comet_ml.init(project_name="comet-example-yolov8-coco128")

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

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

Прежде чем погрузиться в инструкцию по использованию, обязательно ознакомься с ассортиментом моделейYOLOv8 , которые предлагает Ultralytics. Это поможет тебе выбрать наиболее подходящую модель под требования твоего проекта.

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# train the model
results = model.train(
    data="coco8.yaml",
    project="comet-example-yolov8-coco128",
    batch=32,
    save_period=1,
    save_json=True,
    epochs=3,
)

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

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

Пойми эффективность своей модели с помощью Comet ML-визуализации

Let's dive into what you'll see on the Comet ML dashboard once your YOLOv8 model begins training. The dashboard is where all the action happens, presenting a range of automatically logged information through visuals and statistics. Here's a quick tour:

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

В разделе "Панели экспериментов" панели управления Comet ML собраны и представлены различные прогоны и их метрики, такие как потеря маски сегмента, потеря класса, точность и средняя точность.

Comet Обзор ML

Метрика

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

Comet Обзор ML

Интерактивная матрица запутывания

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

Comet Обзор ML

Системные показатели

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

Comet Обзор ML

Настройка журнала Comet ML

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

Предсказания образа логгинга

Ты можешь контролировать количество прогнозов изображений, которые Comet ML регистрирует во время экспериментов. По умолчанию Comet ML регистрирует 100 предсказаний изображений из валидационного набора. Однако ты можешь изменить это число, чтобы оно лучше соответствовало твоим требованиям. Например, чтобы записать в журнал 200 предсказаний изображений, используй следующий код:

import os

os.environ["COMET_MAX_IMAGE_PREDICTIONS"] = "200"

Интервал пакетного протоколирования

Comet ML позволяет тебе указать, как часто будут регистрироваться партии предсказаний изображений. На сайте 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 ML предоставляет возможность вести журнал в автономном режиме. Ты можешь установить COMET_MODE переменную окружения на "offline", чтобы включить эту функцию. Данные твоего эксперимента будут сохранены локально в директории, которую ты сможешь позже загрузить в Comet ML при наличии подключения к интернету.

import os

os.environ["COMET_MODE"] = "offline"

Резюме

Это руководство провело тебя через интеграцию Comet ML с Ultralytics's YOLOv8. Начиная с установки и заканчивая настройкой, ты научился оптимизировать управление экспериментами, получать информацию в реальном времени и адаптировать ведение журнала под нужды твоего проекта.

Изучи официальную документациюComet ML, чтобы узнать больше об интеграции с YOLOv8.

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

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



Created 2023-11-16, Updated 2024-06-02
Authors: glenn-jocher (9), AyushExel (1), abirami-vina (1)

Комментарии