Journalise tes expériences Ultralytics YOLO en utilisant l'intégration MLflow
Explore comment l'intégration et la journalisation avec MLflow peuvent améliorer tes expériences Ultralytics YOLO, permettant un suivi supérieur pour les applications de vision par ordinateur.

Tu peux voir un computer vision project comme un puzzle. En gros, tu apphis aux machines à comprendre les données visuelles en assemblant les pièces du puzzle, comme la collecte d'un jeu de données, l'entraînement d'un modèle et son déploiement. Quand tout s'emboîte, tu obtiens un système capable d'analyser efficacement et de donner du sens aux images et aux vidéos.
Mais, tout comme un vrai puzzle, chaque partie d'un projet de vision par ordinateur n'est pas simple. Des tâches telles que le suivi des expériences (garder une trace de tes paramètres, configurations et données) et la journalisation (capture des résultats et des mesures de performance) peuvent demander beaucoup de temps et d'efforts. Bien que ces étapes soient essentielles pour améliorer et affiner tes modèles de vision par ordinateur, elles peuvent parfois sembler être un goulot d'étranglement.
C'est là que les modèles Ultralytics YOLO et leur intégration avec MLflow entrent en jeu. Des modèles comme Ultralytics YOLO11 prennent en charge un large éventail de tâches de vision par ordinateur, notamment la détection d'objets, la segmentation d'instances et la classification d'images. Ces fonctionnalités permettent de créer des applications de vision par ordinateur passionnantes. Avoir la possibilité de compter sur des intégrations comme l'intégration MLflow permet aux ingénieurs en vision de se concentrer sur le modèle lui-même, plutôt que de se perdre dans les détails.
En particulier, l'intégration MLflow simplifie le processus en enregistrant divers paramètres, métriques et artefacts tout au long du processus d'entraînement. Dans cet article, nous explorerons le fonctionnement de l'intégration MLflow, ses avantages et comment tu peux l'utiliser pour rationaliser tes flux de travail Ultralytics YOLO.
Qu'est-ce que MLflow ?#
MLflow est une plateforme open-source (développée par Databricks) conçue pour rationaliser et gérer l'ensemble du cycle de vie de l'apprentissage automatique. Elle englobe le processus de développement, de déploiement et de maintenance des modèles d'apprentissage automatique.
MLflow comprend les composants clés suivants :
- Suivi des expériences : Ce composant se concentre sur l'enregistrement des détails importants tels que les paramètres du modèle, les résultats et les fichiers pour chaque cycle d'entraînement de modèle. Il t'aide à comparer les modèles, à voir comment les changements affectent les performances et à trouver le meilleur.
- Registre de modèles : C'est comme un système de stockage pour tes modèles, où tu peux suivre différentes versions et les organiser par étapes comme les tests, la pré-production et la production.
- Packaging de projets : MLflow facilite le regroupement de tes projets d'apprentissage automatique, incluant le code, les paramètres et les outils requis, afin qu'ils puissent être partagés et utilisés de manière cohérente entre les équipes et les environnements.
- Déploiement de modèles : MLflow fournit des outils pour déployer rapidement tes modèles entraînés vers des emplacements tels que des stations de travail ou des plateformes cloud comme AWS et Azure, les rendant prêts pour une utilisation réelle.

Fig 1. Composants de MLflow.
Les composants de MLflow rendent le processus de machine learning plus facile et plus efficace à gérer. Grâce à cette intégration, Ultralytics permet d'utiliser la fonction de suivi des expériences de MLflow pour enregistrer les paramètres, les métriques et les artefacts lors de l'entraînement de modèles YOLO. Cela simplifie le suivi et la comparaison de différentes versions de modèles YOLO.
L'intégration MLflow rationalise l'entraînement#
Maintenant que nous avons couvert ce qu'est MLflow, plongeons dans les détails de l'intégration MLflow et les fonctionnalités qu'elle offre.
L'intégration MLflow est conçue pour rendre le processus d'entraînement plus efficace et organisé en suivant et en enregistrant automatiquement les aspects importants de tes expériences de vision par ordinateur. Elle facilite trois types principaux de journalisation : les métriques, les paramètres et les artefacts.
Voici un aperçu plus détaillé de chaque type de journalisation :
- Enregistrement des métriques : Les métriques sont des valeurs quantitatives qui mesurent les performances de ton modèle pendant l'entraînement. Par exemple, des métriques telles que l'exactitude, la précision, le rappel ou la perte sont suivies à la fin de chaque époque (un passage complet dans ton jeu de données).
- Journalisation des paramètres : Les paramètres sont les réglages que tu définis avant le début de l'entraînement du modèle, tels que le taux d'apprentissage, la taille du batch (le nombre d'échantillons traités en une étape d'entraînement) et le nombre d'époques. Ces paramètres affectent de manière significative le comportement et les performances de ton modèle.
- Journalisation des artefacts : Les artefacts sont les sorties ou fichiers générés pendant l'entraînement. Cela inclut des fichiers essentiels comme les poids du modèle (les valeurs numériques que ton modèle apprend pendant l'entraînement), les fichiers de configuration (qui stockent les réglages d'entraînement) et d'autres données pertinentes.

Fig 2. Fonctionnalités clés de journalisation de l'intégration MLflow. Image de l'auteur.
Comment fonctionne l'intégration MLflow#
Tu peux consulter la documentation d'Ultralytics pour obtenir des instructions étape par étape sur l'activation de l'intégration MLflow. Une fois configurée, l'intégration suit et enregistre automatiquement les détails clés de tes expériences d'entraînement, comme indiqué ci-dessus. Cela élimine le besoin d'un suivi manuel et t'aide à rester concentré sur l'affinement de tes modèles.
Avec l'intégration MLflow, tous tes cycles d'entraînement sont stockés au même endroit, ce qui facilite la comparaison des résultats et l'évaluation de différentes configurations. En comparant les résultats enregistrés, tu peux identifier les configurations les plus performantes et utiliser ces informations pour améliorer tes modèles. Cela garantit que ton flux de travail est plus efficace, bien documenté et reproductible.
Plus précisément, chaque session d'entraînement est organisée en une expérience, qui agit comme un conteneur pour plusieurs exécutions. Au sein d'une expérience, tu peux voir toutes les exécutions associées, comparer leurs performances côte à côte et analyser les tendances à travers différentes configurations.
Par exemple, si tu testes différents taux d'apprentissage ou tailles de batch avec Ultralytics YOLOv8, toutes les exécutions associées sont regroupées sous la même expérience pour faciliter la comparaison et l'analyse, comme illustré ci-dessous.

Fig 3. Tu peux afficher les expériences à l'aide de l'intégration MLflow.
Pendant ce temps, au niveau de l'exécution individuelle, MLflow fournit des informations détaillées sur la session d'entraînement spécifique. Tu peux voir des métriques comme l'accuracy, la perte et la précision sur les époques, vérifier les paramètres d'entraînement utilisés (ex: taille du batch et taux d'apprentissage), et accéder aux artefacts générés comme les poids du modèle et les fichiers de configuration. Ces détails sont stockés dans un format organisé, rendant simple la consultation ou la reproduction de n'importe quelle exécution.
Choisir l'intégration MLflow : pourquoi elle se démarque#
En parcourant la documentation d'Ultralytics et en explorant les intégrations disponibles, tu te demandes peut-être : qu'est-ce qui distingue l'intégration MLflow et pourquoi devrais-je la choisir pour mon flux de travail ?
Avec des intégrations comme TensorBoard qui fournissent également des outils pour suivre les métriques et visualiser les résultats, il est important de comprendre les qualités uniques qui font ressortir l'intégration MLflow.
Voici pourquoi MLflow pourrait être le choix idéal pour tes projets YOLO :
- Interface conviviale : Le tableau de bord MLflow facilite la visualisation des expériences, la comparaison des exécutions et l'analyse des résultats, t'aidant à identifier rapidement les configurations les plus performantes.
- Journalisation de métriques personnalisées : Les ingénieurs en vision peuvent enregistrer des métriques personnalisées en plus des métriques standards, permettant une analyse plus approfondie spécifique aux besoins de leur projet.
- Prise en charge des flux de travail multi-langages : MLflow est compatible avec plusieurs langages de programmation, dont Python, R et Java, facilitant l'intégration dans divers pipelines d'apprentissage automatique.
Applications pratiques d'Ultralytics YOLO11 et de l'intégration MLflow#
Pour mieux comprendre quand utiliser l'intégration MLflow, prenons l'exemple d'une application d'IA dans le secteur de la santé où tu dois entraîner Ultralytics YOLO11 pour détecter des tumeurs dans des images de radiographie ou de scanner.
Dans un tel scénario, le jeu de données serait constitué d'images médicales annotées. Tu devrais expérimenter diverses configurations, telles que l'ajustement des taux d'apprentissage, des tailles de batch et des techniques de prétraitement d'images, pour atteindre une précision optimale. Les enjeux étant élevés dans le domaine de la santé et la précision et la fiabilité étant cruciales, le suivi manuel de chaque expérience peut rapidement devenir incontrôlable.

Fig 4. Détection de tumeurs à l'aide d'Ultralytics YOLO11.
L'intégration MLflow répond à ce défi en enregistrant automatiquement les paramètres, les métriques et les artefacts de chaque expérience. Par exemple, si tu modifies le taux d'apprentissage ou appliques une nouvelle stratégie d'augmentation, MLflow enregistre ces changements ainsi que les métriques de performance. De plus, MLflow sauvegarde les poids et les configurations du modèle entraîné, garantissant ainsi que les modèles réussis peuvent être facilement reproduits et déployés.
Ce n'est qu'un exemple de la manière dont l'intégration MLflow améliore la gestion des expériences dans les applications de vision par IA. Les mêmes fonctionnalités s'appliquent à d'autres applications de vision par ordinateur, notamment :
- Conduite autonome : Ultralytics YOLO11 peut être utilisé pour détecter et classifier les piétons, les véhicules et les panneaux de signalisation en temps réel afin d'améliorer la sécurité et l'efficacité des systèmes de conduite autonome.
- Analyse de vente au détail : Les modèles de détection d'objets peuvent surveiller le comportement des clients, suivre les placements de produits et optimiser les stocks en analysant l'activité en magasin via des flux vidéo.
- Sécurité et surveillance : Les modèles peuvent être entraînés pour détecter des anomalies ou surveiller l'activité en temps réel dans des zones sensibles pour une sécurité accrue.
Avantages de l'intégration MLflow#
L'intégration de MLflow avec les modèles YOLO rend la gestion des expériences de machine learning plus facile et plus efficace. En automatisant les tâches clés et en gardant tout organisé, elle te permet de te concentrer sur la création et l'amélioration de tes modèles. Voici un aperçu des principaux avantages :
- Évolutivité pour les grands projets : La plateforme gère efficacement plusieurs expériences et modèles, ce qui la rend adaptée aux grandes équipes et aux flux de travail complexes.
- Historique détaillé des expériences : La plateforme maintient un historique complet des expériences, te permettant de revisiter les exécutions passées, d'analyser les configurations précédentes et d'apprendre des résultats antérieurs.
- Options de désactivation et de réinitialisation : La journalisation MLflow peut être facilement désactivée lorsque ce n'est pas nécessaire, et les paramètres peuvent être réinitialisés aux valeurs par défaut, offrant une flexibilité pour s'adapter aux différentes exigences de flux de travail.
Points clés#
L'intégration MLflow rend la gestion et l'optimisation des expériences Ultralytics YOLO plus faciles et plus efficaces. En suivant automatiquement les détails clés comme les paramètres, les métriques et les artefacts, elle simplifie le processus et élimine les tracas de la gestion manuelle des expériences.
Que tu travailles sur des solutions de santé comme la détection de tumeurs, l'amélioration des systèmes de conduite autonome ou le renforcement de l'analyse de vente au détail, cette intégration aide à garder tout organisé et reproductible. Avec son interface intuitive et sa flexibilité, MLflow permet aux développeurs de se concentrer sur la création de meilleurs modèles et de stimuler l'innovation dans les applications de vision par IA.
Rejoins notre communauté et consulte notre dépôt GitHub pour en savoir plus sur l'IA. Tu peux également explorer d'autres applications de la vision par ordinateur dans l'industrie manufacturière ou l'IA dans les voitures autonomes sur nos pages de solutions.






