Логируй эксперименты Ultralytics YOLO с использованием интеграции MLflow
Узнай, как интеграция и логирование MLflow могут улучшить твои эксперименты с Ultralytics YOLO, обеспечивая превосходное отслеживание для приложений компьютерного зрения.

Ты можешь воспринимать проект компьютерного зрения как головоломку. По сути, ты учишь машины понимать визуальные данные, собирая воедино элементы этой головоломки: сбор набора данных, обучение модели и её развёртывание. Когда всё складывается воедино, ты получаешь систему, способную эффективно анализировать и осмысливать изображения и видео.
Но, как и в настоящем пазле, не всё в проекте по компьютерному зрению проходит гладко. Такие задачи, как отслеживание экспериментов (ведение учета твоих настроек, конфигураций и данных) и логирование (фиксация результатов и метрик производительности), могут отнимать много времени и сил. Хотя эти этапы являются ключевыми для улучшения и доработки твоих моделей компьютерного зрения, иногда они могут казаться узким местом.
Здесь в игру вступают модели Ultralytics YOLO и их интеграция с MLflow. Модели вроде Ultralytics YOLO11 поддерживают широкий спектр задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров и классификацию изображений. Эти возможности позволяют создавать потрясающие приложения компьютерного зрения. Наличие возможности полагаться на такие интеграции, как интеграция с MLflow, позволяет инженерам по зрению сосредоточиться на самой модели, а не увязать в деталях.
В частности, интеграция с MLflow упрощает процесс за счет логирования различных метрик, параметров и артефактов на протяжении всего обучения. В этой статье мы рассмотрим, как работает интеграция с MLflow, каковы её преимущества и как ты можешь использовать её для оптимизации своих рабочих процессов в Ultralytics YOLO.
Что такое MLflow?#
MLflow — это платформа с открытым исходным кодом (разработанная Databricks), предназначенная для оптимизации и управления всем жизненным циклом машинного обучения. Она охватывает процессы разработки, развертывания и поддержки моделей машинного обучения.
MLflow включает в себя следующие ключевые компоненты:
- Отслеживание экспериментов: Этот компонент фокусируется на записи важных деталей, таких как настройки модели, результаты и файлы для каждого запуска обучения модели. Это помогает тебе сравнивать модели, видеть, как изменения влияют на производительность, и находить лучшую из них.
- Реестр моделей: Это своего рода система хранения для твоих моделей, где ты можешь отслеживать различные версии и систематизировать их по этапам, таким как тестирование, промежуточный этап и продакшн.
- Упаковка проектов: MLflow упрощает процесс комплектации твоих проектов машинного обучения, включая код, настройки и необходимые инструменты, чтобы их можно было легко распространять и использовать согласованно в различных командах и средах.
- Развертывание моделей: MLflow предоставляет инструменты для быстрого развертывания твоих обученных моделей в таких средах, как рабочие станции или облачные платформы, например AWS и Azure, делая их готовыми к использованию в реальных условиях.

Рис. 1. Компоненты MLflow.
Компоненты MLflow делают процесс машинного обучения проще и эффективнее в управлении. Благодаря этой интеграции Ultralytics позволяет использовать функцию отслеживания экспериментов MLflow для логирования параметров, метрик и артефактов во время обучения моделей YOLO. Это упрощает отслеживание и сравнение различных версий моделей YOLO.
Интеграция с MLflow оптимизирует обучение#
Теперь, когда мы разобрались с тем, что такое MLflow, давай углубимся в детали интеграции с MLflow и в то, какие функции она предлагает.
Интеграция с MLflow создана для того, чтобы сделать процесс обучения более эффективным и организованным за счет автоматического отслеживания и логирования важных аспектов твоих экспериментов в области компьютерного зрения. Она облегчает три основных типа логирования: метрик, параметров и артефактов.
Вот более подробный обзор каждого типа логирования:
- Логирование метрик: Метрики — это количественные значения, которые измеряют производительность твоей модели во время обучения. Например, такие метрики, как точность (accuracy), прецизионность (precision), полнота (recall) или функция потерь (loss), отслеживаются в конце каждой эпохи (полного прохода по твоему набору данных).
- Логирование параметров: Параметры — это настройки, которые ты задаешь перед началом обучения модели, такие как скорость обучения (learning rate), размер пакета (batch size — количество образцов, обрабатываемых за один шаг обучения) и количество эпох. Эти параметры существенно влияют на поведение и производительность твоей модели.
- Логирование артефактов: Артефакты — это результаты или файлы, созданные во время обучения. Это включает в себя важные файлы, такие как веса модели (численные значения, которые твоя модель изучает в процессе обучения), файлы конфигурации (в которых хранятся настройки обучения) и другие соответствующие данные.

Рис 2. Основные функции логирования интеграции MLflow. Изображение от автора.
Как работает интеграция с MLflow#
Ты можешь изучить документацию Ultralytics, чтобы получить пошаговые инструкции по включению интеграции с MLflow. После настройки интеграция автоматически отслеживает и логирует ключевые детали твоих обучающих экспериментов, как описано выше. Это избавляет от необходимости ручного отслеживания и помогает тебе сосредоточиться на доработке моделей.
Благодаря интеграции с MLflow все твои запуски обучения хранятся в одном месте, что упрощает сравнение результатов и оценку различных конфигураций. Сравнивая залогированные результаты, ты можешь определить наиболее эффективные конфигурации и использовать эти знания для улучшения своих моделей. Это гарантирует, что твой рабочий процесс будет более эффективным, хорошо задокументированным и воспроизводимым.
В частности, каждый сеанс обучения организован в виде эксперимента, который выступает в качестве контейнера для нескольких запусков. В рамках эксперимента ты можешь просматривать все связанные запуски, сравнивать их производительность и анализировать тенденции для разных конфигураций.
Например, если ты тестируешь различные значения скорости обучения или размеры пакетов с Ultralytics YOLOv8, все связанные запуски будут сгруппированы в рамках одного эксперимента для удобства сравнения и анализа, как показано ниже.

Рис. 3. Ты можешь просматривать эксперименты с помощью интеграции с MLflow.
Между тем, на уровне отдельного запуска MLflow предоставляет подробную информацию о конкретном сеансе обучения. Ты можешь просматривать такие метрики, как accuracy, loss и precision по эпохам, проверять использованные параметры обучения (например, размер пакета и скорость обучения) и получать доступ к созданным артефактам, таким как веса модели и файлы конфигурации. Эти данные хранятся в упорядоченном формате, что позволяет легко вернуться к любому запуску или воспроизвести его.
Выбор интеграции с MLflow: почему это лучший вариант#
Изучая документацию Ultralytics и доступные интеграции, ты можешь задать себе вопрос: чем отличается интеграция с MLflow и почему тебе стоит выбрать её для своего рабочего процесса?
Учитывая наличие таких интеграций, как TensorBoard, которые также предоставляют инструменты для отслеживания метрик и визуализации результатов, важно понимать уникальные качества, которые выделяют интеграцию с MLflow.
Вот почему MLflow может стать идеальным выбором для твоих проектов YOLO:
- Удобный интерфейс: Панель управления MLflow позволяет легко просматривать эксперименты, сравнивать запуски и анализировать результаты, помогая тебе быстро определить наиболее эффективные конфигурации.
- Логирование пользовательских метрик: Инженеры по компьютерному зрению могут логировать пользовательские метрики в дополнение к стандартным, что позволяет проводить более глубокий анализ, специфичный для нужд их проектов.
- Поддержка многоязычных рабочих процессов: MLflow совместим с несколькими языками программирования, включая Python, R и Java, что облегчает интеграцию в разнообразные конвейеры машинного обучения.
Практическое применение Ultralytics YOLO11 и интеграции MLflow#
Чтобы получить более полное представление о том, когда можно использовать интеграцию MLflow, давай рассмотрим AI application in healthcare, где тебе нужно обучить Ultralytics YOLO11 обнаруживать опухоли на снимках рентгена или КТ.
В таком сценарии набор данных будет состоять из аннотированных медицинских изображений. Тебе потребуется экспериментировать с различными конфигурациями, такими как настройка скоростей обучения, размеров батчей и методов предобработки изображений, для достижения оптимальной точности. Поскольку в здравоохранении высоки ставки, а точность и надёжность имеют критическое значение, ручное отслеживание каждого эксперимента быстро может стать неуправляемым.

Рис. 4. Обнаружение опухолей с помощью Ultralytics YOLO11.
Интеграция с MLflow решает эту проблему, автоматически логируя параметры, метрики и артефакты каждого эксперимента. Например, если ты изменяешь скорость обучения или применяешь новую стратегию аугментации, MLflow записывает эти изменения наряду с метриками производительности. Кроме того, MLflow сохраняет веса обученной модели и конфигурации, обеспечивая легкую воспроизводимость и развёртывание успешных моделей.
Это лишь один пример того, как интеграция с MLflow улучшает управление экспериментами в приложениях компьютерного зрения. Те же функции применимы и к другим приложениям компьютерного зрения, включая:
- Автономное вождение: Ultralytics YOLO11 можно использовать для обнаружения и классификации пешеходов, транспортных средств и дорожных знаков в реальном времени, чтобы повысить безопасность и эффективность систем самоуправления.
- Розничная аналитика: Модели обнаружения объектов могут отслеживать поведение клиентов, отслеживать размещение товаров и оптимизировать запасы путем анализа активности в магазине с помощью видеопотоков.
- Безопасность и видеонаблюдение: Модели могут быть обучены обнаруживать аномалии или контролировать активность в реальном времени в чувствительных зонах для повышения безопасности.
Преимущества интеграции с MLflow#
Интеграция MLflow с моделями YOLO делает управление экспериментами машинного обучения проще и эффективнее. Автоматизируя ключевые задачи и поддерживая порядок во всем, она позволяет тебе сосредоточиться на создании и улучшении своих моделей. Вот обзор ключевых преимуществ:
- Масштабируемость для крупных проектов: Платформа эффективно справляется с множеством экспериментов и моделей, что делает её подходящей для крупных команд и сложных рабочих процессов.
- Подробная история экспериментов: Платформа поддерживает полную историю экспериментов, позволяя тебе возвращаться к прошлым запускам, анализировать предыдущие конфигурации и учиться на более ранних результатах.
- Опции отключения и сброса: Логирование MLflow можно легко отключить, когда оно не нужно, а настройки можно сбросить до значений по умолчанию, что обеспечивает гибкость для адаптации к различным требованиям рабочих процессов.
Основные выводы#
Интеграция с MLflow делает управление и оптимизацию экспериментов Ultralytics YOLO проще и эффективнее. Благодаря автоматическому отслеживанию ключевых деталей, таких как параметры, метрики и артефакты, она упрощает процесс и снимает хлопоты по ручному управлению экспериментами.
Независимо от того, работаешь ли ты над решениями в области здравоохранения, такими как обнаружение опухолей, совершенствованием систем автономного вождения или улучшением розничной аналитики, эта интеграция помогает держать всё под контролем и обеспечивает воспроизводимость. Благодаря интуитивно понятному интерфейсу и гибкости MLflow позволяет разработчикам сосредоточиться на создании лучших моделей и стимулировании инноваций в приложениях компьютерного зрения.
Присоединяйся к нашему сообществу и загляни в наш репозиторий на GitHub, чтобы узнать об искусственном интеллекте. Ты также можешь изучить другие применения компьютерного зрения в производстве или ИИ в беспилотных автомобилях на наших страницах решений.






