Обучение YOLO11 с ClearML: оптимизация вашего рабочего процесса MLOps
MLOps устраняет разрыв между созданием и развертыванием моделей машинного обучения в реальных условиях. Он фокусируется на эффективном развертывании, масштабируемости и постоянном управлении, чтобы обеспечить хорошую работу моделей в практических приложениях.
Ultralytics YOLO11 легко интегрируется с ClearML, оптимизируя и улучшая обучение и управление вашей моделью обнаружения объектов. Это руководство проведет вас через процесс интеграции, подробно описывая, как настроить ClearML, управлять экспериментами, автоматизировать управление моделями и эффективно сотрудничать.
ClearML
ClearML — это инновационная платформа MLOps с открытым исходным кодом, искусно разработанная для автоматизации, мониторинга и организации рабочих процессов машинного обучения. Ее ключевые особенности включают автоматизированное ведение журнала всех данных обучения и логического вывода для полной воспроизводимости экспериментов, интуитивно понятный веб-интерфейс для легкой визуализации данных и анализа, расширенные алгоритмы оптимизации гиперпараметров и надежное управление моделями для эффективного развертывания на различных платформах.
Обучение YOLO11 с помощью ClearML
Вы можете автоматизировать и повысить эффективность своего рабочего процесса машинного обучения, улучшив процесс обучения путем интеграции YOLO11 с ClearML.
Установка
Чтобы установить необходимые пакеты, выполните команду:
Установка
# Install the required packages for YOLO11 and ClearML
pip install ultralytics clearml
Для получения подробных инструкций и рекомендаций, связанных с процессом установки, обязательно ознакомьтесь с нашим руководством по установке YOLO11. Если при установке необходимых пакетов для YOLO11 у вас возникнут какие-либо трудности, обратитесь к нашему руководству по распространенным проблемам для поиска решений и советов.
Настройка ClearML
После установки необходимых пакетов следующим шагом будет инициализация и настройка вашего ClearML SDK. Это включает в себя настройку вашей учетной записи ClearML и получение необходимых учетных данных для беспрепятственного соединения между вашей средой разработки и сервером ClearML.
Начните с инициализации ClearML SDK в вашей среде. Команда 'clearml-init' запускает процесс настройки и запрашивает у вас необходимые учетные данные.
Начальная настройка SDK
# Initialize your ClearML SDK setup process
clearml-init
После выполнения этой команды посетите страницу настроек ClearML. Перейдите в верхний правый угол и выберите «Settings». Перейдите в раздел «Workspace» и нажмите «Create new credentials». Используйте учетные данные, указанные во всплывающем окне «Create Credentials», чтобы завершить настройку в соответствии с инструкциями, в зависимости от того, настраиваете ли вы ClearML в Jupyter Notebook или в локальной среде python.
Использование
Прежде чем углубляться в инструкции по использованию, обязательно ознакомьтесь с ассортиментом моделей YOLO11, предлагаемых 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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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. Выбор модели YOLO11: Переменная model_variant
устанавливается в значение 'yolo11n', одну из моделей YOLO11. Этот вариант затем регистрируется в ClearML для отслеживания.
Шаг 3. Загрузка модели YOLO11: выбранная модель YOLO11 загружается с использованием класса YOLO от Ultralytics, подготавливая ее к обучению.
Шаг 4. Настройка аргументов обучения: Ключевые аргументы обучения, такие как набор данных (coco8.yaml
) и количество эпох (16
) организованы в словарь и связаны с задачей ClearML. Это позволяет отслеживать и потенциально изменять их через пользовательский интерфейс ClearML. Для детального понимания процесса обучения модели и лучших практик обратитесь к нашему руководству по обучению модели YOLO11.
Шаг 5: Запуск обучения модели: Обучение модели запускается с указанными аргументами. Результаты процесса обучения фиксируются в переменной results
.
Понимание выходных данных
После запуска приведенного выше фрагмента кода можно ожидать следующий вывод:
- Сообщение с подтверждением создания новой задачи ClearML, а также ее уникальный идентификатор.
- Информационное сообщение о сохранении кода скрипта, указывающее на то, что выполнение кода отслеживается ClearML.
- URL-ссылка на страницу результатов ClearML, где можно отслеживать ход обучения и просматривать подробные журналы.
- Прогресс загрузки модели YOLO11 и указанного набора данных, за которым следует сводка архитектуры модели и конфигурации обучения.
- Сообщения инициализации для различных компонентов обучения, таких как TensorBoard, Automatic Mixed Precision (AMP) и подготовка набора данных.
- Наконец, начинается процесс обучения с обновлениями прогресса по мере обучения модели на указанном наборе данных. Для углубленного понимания метрик производительности, используемых во время обучения, ознакомьтесь с нашим руководством по метрикам производительности.
Просмотр страницы результатов ClearML
Щелкнув URL-ссылку на страницу результатов ClearML в выходных данных фрагмента кода, вы можете получить доступ к полному обзору процесса обучения вашей модели.
Основные функции страницы результатов ClearML
-
Отслеживание метрик в реальном времени
- Отслеживайте критические метрики, такие как потери, точность и оценки валидации, по мере их возникновения.
- Обеспечивает немедленную обратную связь для своевременной корректировки производительности модели.
-
Сравнение экспериментов
- Сравните различные прогоны обучения бок о бок.
- Необходимо для настройки гиперпараметров и выявления наиболее эффективных моделей.
-
Подробные журналы и выходные данные
- Получите доступ к подробным журналам, графическим представлениям метрик и выводам консоли.
- Получите более глубокое понимание поведения модели и решения проблем.
-
Мониторинг использования ресурсов
- Контролируйте использование вычислительных ресурсов, включая CPU, GPU и память.
- Ключ к оптимизации эффективности обучения и затрат.
-
Управление артефактами модели
- Просматривайте, скачивайте и делитесь артефактами модели, такими как обученные модели и контрольные точки.
- Улучшает взаимодействие и оптимизирует развертывание моделей и обмен ими.
Чтобы визуально ознакомиться с тем, как выглядит страница результатов ClearML, посмотрите видео ниже:
Смотреть: Интеграция MLOps YOLO11 с использованием ClearML
Расширенные функции в ClearML
ClearML предлагает несколько расширенных функций для улучшения вашего опыта MLOps.
Удаленное выполнение
Функция удаленного выполнения ClearML облегчает воспроизведение и манипулирование экспериментами на разных машинах. Она регистрирует важные детали, такие как установленные пакеты и незафиксированные изменения. Когда задача ставится в очередь, агент ClearML извлекает ее, воссоздает среду и запускает эксперимент, сообщая подробные результаты.
Развертывание ClearML Agent не представляет сложности и может быть выполнено на различных машинах с помощью следующей команды:
clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]
Эта настройка применима к облачным виртуальным машинам, локальным GPU или ноутбукам. ClearML Autoscalers помогают управлять облачными рабочими нагрузками на таких платформах, как AWS, GCP и Azure, автоматизируя развертывание агентов и корректируя ресурсы в зависимости от вашего бюджета ресурсов.
Клонирование, редактирование и постановка в очередь
Удобный интерфейс ClearML позволяет легко клонировать, редактировать и ставить задачи в очередь. Пользователи могут клонировать существующий эксперимент, настраивать параметры или другие детали через пользовательский интерфейс и ставить задачу в очередь для выполнения. Этот оптимизированный процесс гарантирует, что ClearML Agent, выполняющий задачу, использует обновленные конфигурации, что делает его идеальным для итеративных экспериментов и тонкой настройки модели.
Управление версиями набора данных
ClearML также предлагает мощные возможности управления версиями наборов данных, которые легко интегрируются с рабочими процессами обучения YOLO11. Эта функция позволяет вам:
- Версионируйте свои наборы данных отдельно от кода
- Отслеживайте, какая версия набора данных использовалась для каждого эксперимента
- Легкий доступ и загрузка последней версии набора данных
Чтобы подготовить набор данных для ClearML, выполните следующие действия:
- Организуйте свой набор данных со стандартной структурой YOLO (изображения, метки и т. д.)
- Скопируйте соответствующий YAML-файл в корень папки вашего набора данных.
-
Загрузите свой набор данных с помощью инструмента ClearML Data:
cd your_dataset_folder clearml-data sync --project YOLOv11 --name your_dataset_name --folder .
Эта команда создаст набор данных с указанием версии в ClearML, на который можно ссылаться в ваших скриптах обучения, обеспечивая воспроизводимость и легкий доступ к вашим данным.
Обзор
Это руководство провело вас через процесс интеграции ClearML с Ultralytics YOLO11. Охватывая все, от начальной настройки до расширенного управления моделями, вы узнали, как использовать ClearML для эффективного обучения, отслеживания экспериментов и оптимизации рабочих процессов в ваших проектах машинного обучения.
Для получения более подробной информации об использовании посетите официальную документацию ClearML.
Кроме того, изучите другие интеграции и возможности Ultralytics, посетив страницу руководства по интеграции Ultralytics, которая является сокровищницей ресурсов и идей.
Часто задаваемые вопросы
Как интегрировать Ultralytics YOLO11 с ClearML?
Интеграция Ultralytics YOLO11 с ClearML включает в себя ряд шагов для оптимизации вашего рабочего процесса MLOps. Сначала установите необходимые пакеты:
pip install ultralytics clearml
Затем инициализируйте ClearML SDK в своей среде, используя:
clearml-init
Затем вы настраиваете ClearML со своими учетными данными со страницы настроек ClearML. Подробные инструкции по всему процессу настройки, включая выбор модели и конфигурации обучения, можно найти в нашем руководстве по обучению модели YOLO11.
Зачем использовать ClearML с Ultralytics YOLO11 для моих проектов машинного обучения?
Использование ClearML с Ultralytics YOLO11 улучшает ваши проекты машинного обучения за счет автоматизации отслеживания экспериментов, оптимизации рабочих процессов и обеспечения надежного управления моделями. ClearML предлагает отслеживание метрик в реальном времени, мониторинг использования ресурсов и удобный интерфейс для сравнения экспериментов. Эти функции помогают оптимизировать производительность вашей модели и сделать процесс разработки более эффективным. Узнайте больше о преимуществах и процедурах в нашем руководстве по интеграции MLOps.
Как устранить распространенные проблемы при интеграции YOLO11 и ClearML?
Если у вас возникнут проблемы во время интеграции YOLO11 с ClearML, обратитесь к нашему руководству по распространенным проблемам для получения решений и советов. Типичные проблемы могут включать ошибки установки пакетов, настройку учетных данных или проблемы с конфигурацией. Это руководство содержит пошаговые инструкции по устранению этих распространенных проблем.
Как настроить задачу ClearML для обучения модели YOLO11?
Настройка задачи ClearML для обучения YOLO11 включает в себя инициализацию задачи, выбор варианта модели, загрузку модели, настройку аргументов обучения и, наконец, запуск обучения модели. Вот упрощенный пример:
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 YOLO11 Model
model_variant = "yolo11n"
task.set_parameter("model_variant", model_variant)
# Step 3: Loading the YOLO11 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)
Обратитесь к нашему руководству по использованию для получения подробной информации об этих шагах.
Где я могу просмотреть результаты обучения моей YOLO11 в ClearML?
После запуска скрипта обучения YOLO11 с ClearML вы можете просмотреть результаты на странице результатов ClearML. Вывод будет включать ссылку URL на панель управления ClearML, где вы можете отслеживать метрики, сравнивать эксперименты и отслеживать использование ресурсов. Для получения более подробной информации о том, как просматривать и интерпретировать результаты, ознакомьтесь с нашим разделом Просмотр страницы результатов ClearML.