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

Обучение 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 , которая является кладезем ресурсов и знаний.



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

Комментарии