Интеграция MLflow для Ultralytics YOLO
Введение
Протоколирование экспериментов - важнейший аспект рабочих процессов машинного обучения, позволяющий отслеживать различные метрики, параметры и артефакты. Это помогает улучшить воспроизводимость модели, отладить проблемы и повысить производительность модели. Ultralytics YOLO Компания "Альянс", известная своими возможностями обнаружения объектов в режиме реального времени, теперь предлагает интеграцию с MLflow, платформой с открытым исходным кодом для полного управления жизненным циклом машинного обучения.
Эта страница документации представляет собой полное руководство по настройке и использованию возможностей протоколирования MLflow для вашего проекта Ultralytics YOLO .
Что такое MLflow?
MLflow - это платформа с открытым исходным кодом, разработанная компанией Databricks для управления жизненным циклом машинного обучения. Она включает в себя инструменты для отслеживания экспериментов, упаковки кода в воспроизводимые прогоны, обмена и развертывания моделей. MLflow предназначен для работы с любыми библиотеками машинного обучения и языками программирования.
Характеристики
- Ведение журнала метрик: Ведет журнал метрик в конце каждой эпохи и в конце обучения.
- Регистрация параметров: Записывает в журнал все параметры, использованные в процессе обучения.
- Ведение журнала артефактов: Ведет журнал артефактов модели, включая веса и файлы конфигурации, по окончании обучения.
Установка и предварительные условия
Убедитесь, что MLflow установлен. Если нет, установите его с помощью pip:
Убедитесь, что протоколирование MLflow включено в настройках Ultralytics . Обычно это контролируется настройками mlflow
ключ. См. настройки на странице для получения дополнительной информации.
Обновление настроек Ultralytics MLflow
В среде Python вызовите update
метод на settings
объект, чтобы изменить настройки:
Как использовать
Команды
-
Задайте имя проекта: Имя проекта можно задать через переменную окружения:
Или воспользуйтесь
project=<project>
аргумент при обучении модели YOLO , т.е.yolo train project=my_project
. -
Задайте имя выполнения: Аналогично заданию имени проекта, вы можете задать имя запуска через переменную среды:
Или воспользуйтесь
name=<name>
аргумент при обучении модели YOLO , т.е.yolo train project=my_project name=my_name
. -
Запустите локальный сервер MLflow: Чтобы запустить отслеживание, используйте:
Это запустит локальный сервер по адресу http://127.0.0.1:5000 по умолчанию и сохраняет все журналы mlflow в каталог 'runs/mlflow'. Чтобы указать другой URI, установите параметр
MLFLOW_TRACKING_URI
переменная окружения. -
Остановите серверные экземпляры MLflow: Чтобы остановить все запущенные экземпляры MLflow, выполните команду:
Ведение журнала
За ведение журнала отвечает on_pretrain_routine_end
, on_fit_epoch_end
, и on_train_end
функции обратного вызова. Эти функции автоматически вызываются на соответствующих этапах процесса обучения и выполняют протоколирование параметров, метрик и артефактов.
Примеры
-
Регистрация пользовательских показателей: Вы можете добавить пользовательские метрики для регистрации, изменив параметр
trainer.metrics
словарь доon_fit_epoch_end
называется. -
Посмотреть эксперимент: Чтобы просмотреть журналы, перейдите на свой сервер MLflow (обычно http://127.0.0.1:5000), выберите эксперимент и запустите его.
-
Смотреть Бег: Прогоны - это отдельные модели внутри эксперимента. Щелкните на прогоне и просмотрите детали прогона, включая загруженные артефакты и веса моделей.
Отключение MLflow
Чтобы отключить ведение журнала MLflow:
Заключение
Интеграция протоколирования MLflow с Ultralytics YOLO предлагает упрощенный способ отслеживания результатов экспериментов по машинному обучению. С его помощью вы можете отслеживать показатели производительности и эффективно управлять артефактами, что способствует надежной разработке и развертыванию моделей. Для получения более подробной информации посетите официальную документацию MLflow.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Как настроить ведение журнала MLflow с помощью Ultralytics YOLO ?
Чтобы настроить ведение журнала MLflow с помощью Ultralytics YOLO , сначала нужно убедиться, что MLflow установлен. Вы можете установить его с помощью pip:
Затем включите ведение журнала MLflow в настройках Ultralytics . Это можно контролировать с помощью mlflow
ключ. Для получения дополнительной информации см. руководство по настройкам.
Обновление настроек Ultralytics MLflow
Наконец, запустите локальный сервер MLflow для отслеживания:
Какие метрики и параметры можно регистрировать с помощью MLflow с Ultralytics YOLO ?
Ultralytics YOLO С помощью MLflow можно регистрировать различные метрики, параметры и артефакты на протяжении всего процесса обучения:
- Регистрация показателей: Отслеживает показатели в конце каждой эпохи и по завершении обучения.
- Регистрация параметров: Регистрирует все параметры, используемые в процессе обучения.
- Ведение журнала артефактов: Сохраняет артефакты модели, такие как веса и файлы конфигурации, после обучения.
Более подробную информацию можно найти в документации по отслеживаниюUltralytics YOLO .
Можно ли отключить ведение журнала MLflow после его включения?
Да, вы можете отключить ведение журнала MLflow для Ultralytics YOLO , обновив настройки. Вот как это можно сделать с помощью CLI:
Для дальнейшей настройки и сброса параметров обратитесь к руководству по настройкам.
Как запустить и остановить сервер MLflow для отслеживания Ultralytics YOLO ?
Чтобы запустить сервер MLflow для отслеживания экспериментов на сайте Ultralytics YOLO , выполните следующую команду:
По умолчанию эта команда запускает локальный сервер по адресу http://127.0.0.1:5000. Если вам нужно остановить запущенные экземпляры сервера MLflow, используйте следующую команду bash :
Дополнительные параметры команд см. в разделе "Команды ".
Каковы преимущества интеграции MLflow с Ultralytics YOLO для отслеживания экспериментов?
Интеграция MLflow с Ultralytics YOLO дает ряд преимуществ для управления экспериментами по машинному обучению:
- Улучшенное отслеживание экспериментов: Удобное отслеживание и сравнение различных экспериментов и их результатов.
- Улучшенная воспроизводимость моделей: Обеспечьте воспроизводимость экспериментов, регистрируя все параметры и артефакты.
- Мониторинг производительности: Визуализация показателей производительности с течением времени для принятия решений по улучшению модели на основе данных.
- Оптимизированный рабочий процесс: Автоматизируйте процесс регистрации, чтобы больше внимания уделять разработке модели, а не ручному отслеживанию.
- Совместные разработки: Делитесь результатами экспериментов с членами команды для улучшения совместной работы и обмена знаниями.
Чтобы получить подробную информацию о настройке и использовании MLflow с Ultralytics YOLO , изучите документацию MLflow Integration for Ultralytics YOLO .