Интеграция MLflow для Ultralytics YOLO
Введение
Experiment logging is a crucial aspect of machine learning workflows that enables tracking of various metrics, parameters, and artifacts. It helps to enhance model reproducibility, debug issues, and improve model performance. Ultralytics YOLO, known for its real-time object detection capabilities, now offers integration with MLflow, an open-source platform for complete machine learning lifecycle management.
Эта страница документации представляет собой исчерпывающее руководство по настройке и использованию возможностей протоколирования MLflow для твоего проекта Ultralytics YOLO.
Что такое MLflow?
MLflow - это платформа с открытым исходным кодом, разработанная компанией Databricks для управления сквозным жизненным циклом машинного обучения. Она включает в себя инструменты для отслеживания экспериментов, упаковки кода в воспроизводимые прогоны, обмена и развертывания моделей. MLflow рассчитана на работу с любой библиотекой машинного обучения и языком программирования.
Характеристики
- Ведение журнала метрик: Веди журнал метрик в конце каждой эпохи и в конце тренировки.
- Ведение журнала параметров: Записывает в журнал все параметры, использованные в тренировке.
- Ведение журнала артефактов: По окончании тренировки веди журнал артефактов модели, включая веса и конфигурационные файлы.
Установка и предварительные условия
Убедись, что MLflow установлен. Если нет, установи его с помощью pip:
Убедись, что в настройках Ultralytics включено ведение журнала MLflow. Обычно это контролируется настройками mflow
ключ. См. настройки Страница для получения дополнительной информации.
Обновление настроек 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), выбирай свой эксперимент и запускай.
Смотреть бег: Прогоны - это отдельные модели внутри эксперимента. Кликни на Run и увидишь детали Run, включая загруженные артефакты и веса моделей.
Отключение 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 можно регистрировать различные метрики, параметры и артефакты на протяжении всего процесса обучения:
- Metrics Logging: Tracks metrics at the end of each epoch and upon training completion.
- Ведение журнала параметров: Записывает в журнал все параметры, используемые в процессе тренировки.
- Ведение журнала артефактов: Сохраняй артефакты модели, такие как веса и конфигурационные файлы, после тренировки.
За более подробной информацией обращайся к документации по отслеживанию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 .