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

Обучение 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="coco128.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: Установка тренировочных аргументов: Основные аргументы в пользу обучения, такие как набор данных (coco128.yaml) и количество эпох (16) организованы в словарь и связаны с заданием ClearML . Это позволяет отслеживать и вносить возможные изменения через пользовательский интерфейс ClearML . Для детального понимания процесса обучения модели и лучших практик, обратись к нашему YOLOv8 Модельное руководство по обучению.

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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


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

Резюме

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

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

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



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

Комментарии