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

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

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

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

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

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






