Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Intégrations

Entraîner et surveiller Ultralytics YOLOv5 à distance avec ClearML

Apprends à suivre tes expériences, à versionner tes jeux de données, à régler les hyperparamètres et à entraîner des modèles Ultralytics YOLOv5 sur des machines distantes avec ClearML.

Nuvola LadiNuvola Ladi7 min de lecture
Entraîner et surveiller YOLOv5 avec ClearML

Chez Ultralytics, nous nouons des partenariats commerciaux avec d’autres startups afin de financer la recherche et le développement de nos outils open source, comme YOLOv5, et de les garder gratuits pour tout le monde. Cet article peut contenir des liens d’affiliation vers ces partenaires.

ClearML est notre nouveau partenaire : une boîte à outils open source conçue pour te faire gagner du temps.

Avec pour mission d’accélérer l’adoption du ML, ClearML facilite l’intégration du ML à tout produit logiciel ou matériel.

Cette intégration simplifie encore davantage l’entraînement d’un modèle YOLOv5 et l’utilisation du gestionnaire d’expériences ClearML pour en assurer le suivi automatiquement. Tu peux facilement spécifier l’ID d’une version d’un jeu de données ClearML comme entrée de données ; celle-ci sera automatiquement utilisée pour entraîner ton modèle.

Passe au niveau supérieur pour le suivi de tes expériences#

  • Suis chaque exécution d’entraînement YOLOv5 dans le gestionnaire d’expériences.
  • Versionne et accède facilement à tes données d’entraînement personnalisées grâce à l’outil intégré de gestion des versions des données ClearML.
  • Obtiens le meilleur mAP possible grâce à l’optimisation des hyperparamètres de ClearML.
  • Transforme ton modèle YOLOv5 fraîchement entraîné en API en quelques commandes avec ClearML Serving.

À toi de choisir le nombre d’outils que tu veux utiliser : tu peux t’en tenir au gestionnaire d’expériences ou les enchaîner pour créer un pipeline impressionnant.

Configuration#

Pour suivre tes expériences et tes données, ClearML doit communiquer avec un serveur. Tu as deux options : créer gratuitement un compte sur le service hébergé ClearML ou configurer ton propre serveur.

Le serveur est lui aussi open source : si tu traites des données sensibles, ce n’est donc pas un problème !

  1. Installe le paquet Python ClearML : pip install clearml
  2. Connecte le SDK ClearML au serveur en créant des identifiants (en haut à droite, va dans Settings → Workspace → Create new credentials), puis exécute la commande ci-dessous et suis les instructions : clearml-init

Tu es maintenant prêt à te lancer.

Entraîner YOLOv5 avec ClearML#

Pour activer le suivi des expériences ClearML, il suffit d’installer le paquet pip ClearML.

pip install clearml

Cela activera l’intégration avec le script d’entraînement YOLOv5. À partir de maintenant, chaque exécution d’entraînement sera enregistrée et stockée par le gestionnaire d’expériences ClearML. Pour modifier project_name ou task_name, accède à notre logger personnalisé, où tu peux les changer : utils/loggers/clearml/clearml_utils.py

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

Cela enregistrera :

  • Code source + modifications non validées
  • Packages installés
  • (Hyper)paramètres
  • Fichiers du modèle (utilise --save-period n pour enregistrer un checkpoint toutes les n époques)
  • Sortie de la console
  • Valeurs scalaires (mAP50, mAP50-95, précision, rappel, pertes, taux d’apprentissage, ...)
  • Informations générales telles que les détails de la machine, la durée d’exécution, la date de création, etc.
  • Tous les graphiques produits, comme le corrélogramme des labels et la matrice de confusion
  • Images avec des boîtes englobantes par époque
  • Mosaïque par époque
  • Images de validation par époque

Maintenant, nous pouvons visualiser toutes ces informations dans l’interface de ClearML pour obtenir une vue d’ensemble de la progression de notre entraînement. Ajoute des colonnes personnalisées à la vue tableau (comme mAP50) pour trier facilement les modèles selon leurs performances. Ou sélectionne plusieurs expériences et compare-les directement !

Nous pouvons faire encore plus avec toutes ces informations, par exemple optimiser les hyperparamètres et exécuter des tâches à distance ; continue donc à lire pour découvrir comment !

Gestion des versions des jeux de données#

Il est généralement judicieux de versionner tes données séparément de ton code, ce qui facilite également l’accès à la version la plus récente. Ce dépôt permet de fournir l’ID d’une version du jeu de données et veille à récupérer les données si elles ne sont pas encore présentes. De plus, ce workflow enregistre également l’ID du jeu de données utilisé dans les paramètres de la tâche ; tu sauras donc toujours avec certitude quelles données ont été utilisées pour chaque expérience !

Préparer ton jeu de données#

Le dépôt YOLOv5 prend en charge différents jeux de données grâce à des fichiers YAML qui contiennent leurs informations. Par défaut, les jeux de données sont téléchargés dans le dossier ../datasets, situé à la racine du dépôt. Ainsi, si tu as téléchargé le jeu de données COCO128 à l’aide du lien dans le fichier YAML ou des scripts fournis par YOLOv5, tu obtiens cette structure de dossiers :

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

Tu peux toutefois utiliser n’importe quel jeu de données. N’hésite pas à utiliser le tien, à condition de respecter cette structure de dossiers.

Ensuite, copie le fichier YAML correspondant à la racine du dossier du jeu de données. Ces fichiers YAML contiennent les informations dont ClearML a besoin pour utiliser correctement le jeu de données. Tu peux bien sûr aussi créer toi-même ce fichier ; il te suffit de suivre la structure des exemples de fichiers YAML.

Le fichier YAML doit contenir les clés suivantes : path, train, test, val, nc et names.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml # ← HERE!
        |_ LICENSE
        |_ README.txt

Téléverser ton jeu de données#

Pour ajouter ce jeu de données à ClearML en tant que jeu de données versionné, accède au dossier racine du jeu de données et exécute la commande suivante :

cd coco128

clearml-data sync --project YOLOv5 --name coco128 --folder .

La commande clearml-data sync est en fait une commande raccourcie. Tu peux aussi exécuter ces commandes l’une après l’autre :

# Optionally add --parent if you want to base
# this version on another dataset version, so no duplicate files are uploaded!

clearml-data create --name coco128 --project YOLOv5

clearml-data add --files .

clearml-data close

Lancer l’entraînement à l’aide d’un jeu de données ClearML#

Maintenant que tu disposes d’un jeu de données ClearML, tu peux l’utiliser pour entraîner des modèles YOLOv5 personnalisés.

python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache

Optimisation des hyperparamètres#

Maintenant que nous avons nos expériences et une version des données, voyons ce que nous pouvons construire à partir de là !

Grâce aux informations sur le code, aux paquets installés et aux détails de l’environnement, l’expérience est désormais entièrement reproductible. ClearML te permet même de cloner une expérience et d’en modifier les paramètres. Tu peux ensuite la relancer automatiquement avec ces nouveaux paramètres, ce qui correspond essentiellement à l’optimisation des hyperparamètres (HPO).

Pour effectuer localement l’optimisation des hyperparamètres, nous avons inclus un script prêt à l’emploi. Assure-toi simplement qu’une tâche d’entraînement a été exécutée au moins une fois afin qu’elle figure dans le gestionnaire d’expériences ClearML ; le script la clone et modifie ses hyperparamètres.

Tu dois renseigner l’ID de cette tâche modèle dans le script situé à utils/loggers/clearml/hpo.py, puis l’exécuter. Tu peux remplacer task.execute_locally() par task.execute() pour placer la tâche dans une file d’attente ClearML et la faire exécuter à distance par un agent.

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

Exécution à distance (avancé)#

Lancer l’optimisation des hyperparamètres en local est très pratique, mais que faire si nous voulons plutôt exécuter nos expériences sur une machine distante ? Tu as peut-être accès à une machine équipée d’un GPU très puissant sur site, ou un budget pour utiliser des GPU dans le cloud. C’est là que l’agent ClearML entre en jeu.

Découvre ici ce que l’agent peut faire :

En bref : chaque expérience suivie par le gestionnaire d’expériences contient suffisamment d’informations pour être reproduite sur une autre machine (packages installés, modifications non validées, etc.). Un agent ClearML s’en charge : il surveille une file d’attente pour détecter les nouvelles tâches et, lorsqu’il en trouve une, recrée l’environnement et l’exécute tout en transmettant les scalaires, les graphiques, etc. au gestionnaire d’expériences.

Tu peux transformer n’importe quelle machine (une VM cloud, une machine locale équipée d’un GPU ou ton propre ordinateur portable) en agent ClearML en exécutant simplement :

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

Cloner, modifier et mettre en file d’attente#

Maintenant que notre agent est opérationnel, nous pouvons lui confier du travail. Tu te souviens de la section sur l’optimisation des hyperparamètres ? Nous pouvons cloner une tâche et modifier ses hyperparamètres. Nous pouvons aussi le faire depuis l’interface !

  1. Clone l’expérience en faisant un clic droit dessus.
  2. Modifie les hyperparamètres pour leur attribuer les valeurs souhaitées.
  3. Mets la tâche en file d’attente dans l’une des files en faisant un clic droit dessus.

Exécuter une tâche à distance#

Tu peux maintenant cloner une tâche comme expliqué plus haut, ou simplement marquer ton script actuel en ajoutant task.execute_remotely() ; lors de son exécution, il sera placé dans une file d’attente afin que l’agent puisse commencer à travailler dessus !

Pour exécuter le script d’entraînement YOLOv5 à distance, il te suffit d’ajouter cette ligne au script train.py, après l’instanciation du logger ClearML :

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # instance des loggers
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ AJOUTE CETTE LIGNE

Des questions ? Rejoins notre communauté et pose ta question dès aujourd’hui !

Écrit par

Nuvola Ladi
Nuvola Ladi

Responsable du contenu numérique · Ultralytics

Nuvola Ladi est responsable du contenu numérique chez Ultralytics, où elle crée du contenu sur l'IA visuelle et Ultralytics YOLO, et représente l'entreprise lors d'événements du secteur comme la PyTorch Conference 2025. Basée en Espagne, elle est titulaire d'un master en médias visuels et numériques de l'IE University. Avant de rejoindre Ultralytics, elle a occupé des postes dans des organisations telles que XVA Gallery & Hotel et Rolex.

Commentaires

Pose une question, partage tes résultats ou aide quelqu’un.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique