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

Обучение YOLOv8 с ClearML: оптимизация рабочего процесса в MLOps

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

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

ClearML

ClearML Обзор

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

YOLOv8 Тренировка с ClearML

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

Установка

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

Установка

# Install the required packages for YOLOv8 and ClearML
pip install ultralytics clearml

Для получения подробных инструкций и лучших практик, связанных с процессом установки, обязательно ознакомься с нашим руководством по установкеYOLOv8 . Во время установки необходимых пакетов для YOLOv8, если у тебя возникнут какие-либо трудности, обратись к нашему руководству по общим проблемам, чтобы найти решения и советы.

Настройка ClearML

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

Начнем с инициализации ClearML SDK в вашей среде. Команда 'clearml-init' запускает процесс установки и запрашивает необходимые учетные данные.

Начальная настройка SDK

# Initialize your ClearML SDK setup process
clearml-init

Выполнив эту команду, зайди на страницу настроекClearML . Перейди в правый верхний угол и выбери "Настройки". Перейди в раздел "Рабочее пространство" и нажми на "Создать новые учетные данные". Используй учетные данные, указанные во всплывающем окне "Create Credentials", чтобы завершить настройку в соответствии с инструкциями, в зависимости от того, настраиваешь ли ты ClearML в Jupyter Notebook или в локальной среде Python .

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

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

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

from clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

Понимание кода

Давайте разберемся в шагах, показанных в приведенном выше фрагменте кода использования.

Шаг 1: Создание задачи ClearML : Новая задача инициализируется в разделе ClearML, где указываются имена проекта и задачи. Эта задача будет отслеживать и управлять обучением твоей модели.

Шаг 2: Выбор модели YOLOv8: The model_variant переменная устанавливается на 'yolov8n', одну из моделей YOLOv8. Этот вариант затем регистрируется в ClearML для отслеживания.

Шаг 3: Загрузка модели YOLOv8 : Выбранная модель YOLOv8 загружается с помощью классов Ultralytics' YOLO , подготавливая ее к обучению.

Шаг 4: Установка тренировочных аргументов: Основные аргументы в пользу обучения, такие как набор данных (coco8.yaml) и количество эпох (16) организованы в словарь и связаны с заданием ClearML . Это позволяет отслеживать и вносить возможные изменения через пользовательский интерфейс ClearML . Для детального понимания процесса обучения модели и лучших практик, обратись к нашему YOLOv8 Модельное руководство по обучению.

Шаг 5: Начало обучения модели: Тренировка модели запускается с указанными аргументами. Результаты процесса обучения фиксируются в файле results переменная.

Понимание вывода

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

  • Подтверждающее сообщение о создании новой задачи ClearML, а также ее уникальный ID.
  • Информационное сообщение о хранящемся коде скрипта, указывающее на то, что выполнение кода отслеживается ClearML.
  • URL-ссылка на страницу результатов ClearML, где ты сможешь следить за ходом тренировки и просматривать подробные журналы.
  • Загрузи прогресс для модели YOLOv8 и указанного набора данных, а затем кратко расскажи об архитектуре модели и конфигурации обучения.
  • Инициализационные сообщения для различных компонентов обучения, таких как TensorBoard, Automatic Mixed Precision (AMP) и подготовка наборов данных.
  • И наконец, начинается процесс обучения, в ходе которого обновляется информация о прогрессе по мере того, как модель тренируется на заданном наборе данных. Для более глубокого понимания метрик производительности, используемых в процессе обучения, прочти наше руководство по метрикам производительности.

Просмотр страницы результатов ClearML

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

Ключевые особенности страницы результатов ClearML

  • Отслеживание показателей в режиме реального времени

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

    • Сравнивай разные тренировки бок о бок.
    • Незаменим для настройки гиперпараметров и выявления наиболее эффективных моделей.
  • Подробные журналы и результаты

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

    • Следи за использованием вычислительных ресурсов, включая CPU, GPU, и память.
    • Ключ к оптимизации эффективности и стоимости тренировок.
  • Управление артефактами модели

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

Чтобы наглядно увидеть, как выглядит страница результатов ClearML, посмотри видео ниже:



Смотри: YOLOv8 Интеграция MLOps с помощью ClearML

Дополнительные возможности в ClearML

ClearML предлагает несколько дополнительных функций, которые улучшат твой опыт работы с MLOps.

Удаленное выполнение

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

Развертывание агента ClearML Agent очень простое и может быть выполнено на разных машинах с помощью следующей команды:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

Эта настройка применима к облачным ВМ, локальным GPU или ноутбукам. Автоскалеры ClearML помогают управлять облачными рабочими нагрузками на таких платформах, как AWS, GCP и Azure, автоматизируя развертывание агентов и регулируя ресурсы в зависимости от твоего ресурсного бюджета.

Клонирование, редактирование и загрузка

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


Клонирование, редактирование и загрузка с помощью ClearML

Резюме

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

Более подробную информацию об использовании можно найти в официальной документацииClearML.

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

ВОПРОСЫ И ОТВЕТЫ

Каков процесс интеграции Ultralytics YOLOv8 с ClearML?

Интеграция Ultralytics YOLOv8 с ClearML включает в себя ряд шагов, которые позволят оптимизировать твой рабочий процесс в MLOps. Во-первых, установи необходимые пакеты:

pip install ultralytics clearml

Далее инициализируй ClearML SDK в своем окружении, используя:

clearml-init

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

Почему я должен использовать ClearML с Ultralytics YOLOv8 для своих проектов машинного обучения?

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

Как устранить общие проблемы при интеграции YOLOv8 и ClearML ?

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

Как настроить задачу ClearML для обучения модели YOLOv8 ?

Настройка задачи ClearML для обучения YOLOv8 включает в себя инициализацию задачи, выбор варианта модели, загрузку модели, установку аргументов для обучения и, наконец, запуск обучения модели. Вот упрощенный пример:

from clearml import Task

from ultralytics import YOLO

# Step 1: Creating a ClearML Task
task = Task.init(project_name="my_project", task_name="my_yolov8_task")

# Step 2: Selecting the YOLOv8 Model
model_variant = "yolov8n"
task.set_parameter("model_variant", model_variant)

# Step 3: Loading the YOLOv8 Model
model = YOLO(f"{model_variant}.pt")

# Step 4: Setting Up Training Arguments
args = dict(data="coco8.yaml", epochs=16)
task.connect(args)

# Step 5: Initiating Model Training
results = model.train(**args)

Обратись к нашему руководству по использованию за подробным описанием этих шагов.

Где я могу посмотреть результаты своих тренировок YOLOv8 в ClearML?

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



Создано 2023-11-29, Обновлено 2024-07-05
Авторы: glenn-jocher (10), IvorZhu331 (1), abirami-vina (1)

Комментарии