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

Comment utiliser Ultralytics YOLOv5 avec Comet

Découvre comment Ultralytics collabore avec Comet pour optimiser les modèles Ultralytics YOLOv5 : suivi en temps réel, collaboration simplifiée et reproductibilité accrue.

Nuvola LadiNuvola Ladi6 min de lecture
Suivi de l’entraînement des modèles Ultralytics YOLOv5 avec Comet

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.

Notre tout nouveau partenaire, Comet, développe des outils qui aident les spécialistes des données, les ingénieurs et les responsables d’équipe à accélérer et à optimiser les modèles d’apprentissage automatique et d’apprentissage profond.

Comet est un outil puissant pour suivre tes modèles, tes jeux de données et tes métriques. Il consigne même les variables système et d’environnement afin de garantir la reproductibilité et de faciliter le débogage de chaque exécution. Suis et visualise les métriques du modèle en temps réel, enregistre tes hyperparamètres, tes jeux de données et les points de contrôle du modèle, et visualise les prédictions de ton modèle avec les panneaux personnalisés Comet !

De plus, Comet t’évite de perdre le fil de ton travail et facilite le partage des résultats et la collaboration entre équipes de toutes tailles !

YOLOv5 est un excellent point de départ pour te lancer en vision par ordinateur. Pour améliorer les performances de ton modèle et le préparer à la mise en production, tu devras consigner les résultats dans un outil de suivi des expériences comme Comet.

L’intégration de Comet et YOLOv5 offre 3 fonctionnalités principales :

  • Fonctionnalités de journalisation automatique et personnalisée
  • Enregistrer les jeux de données et les modèles sous forme d’artefacts pour faciliter le débogage et la reproductibilité
  • Organisation de ton espace de visualisation avec les panneaux personnalisés de Comet

Ce guide explique comment utiliser YOLOv5 avec Comet.

Alors, prêt à suivre tes expériences en temps réel ? C’est parti !

Pour commencer#

1. Installer Comet#

pip install comet_ml

2. Configurer les identifiants Comet#

Il existe deux façons de configurer Comet avec YOLOv5.

Tu peux configurer tes identifiants à l’aide de variables d’environnement ou créer un fichier .comet.config dans ton répertoire de travail et y renseigner tes identifiants.

Variables d’environnement#

export COMET_API_KEY=<Your API Key>
export COMET_PROJECT_NAME=<Your Comet Project Name> # This will default to 'yolov5'

Fichier de configuration Comet#

[comet]
api_key=<Your API Key>
project_name=<Your Comet Project Name> # This will default to 'yolov5'

3. Exécuter le script d’entraînement#

# Train YOLOv5s on COCO128 for 5 epochs
python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt

Et voilà !

Comet enregistrera automatiquement tes hyperparamètres, les arguments de la ligne de commande, ainsi que les métriques d’entraînement et de validation. Tu peux visualiser et analyser tes exécutions dans l’interface Comet.

Expériences YOLOv5 dans le tableau de bord Comet

Essaie par toi-même !#

Consulte un exemple d’exécution terminée.

Mieux encore, essaie par toi-même dans le notebook YOLOv5 sur Colab.

Journalisation automatique#

Par défaut, Comet consigne les éléments suivants :

Métriques#

  • Les pertes de boîte, d’objet et de classification pour les données d’entraînement et de validation
  • Métriques mAP50, mAP50-95 pour les données de validation
  • La précision et le rappel pour les données de validation

Paramètres#

  • Hyperparamètres du modèle
  • Tous les paramètres transmis par les options de la ligne de commande

Visualisations#

  • Matrice de confusion des prédictions du modèle sur les données de validation
  • Graphiques des courbes PR et F1 pour toutes les classes
  • Corrélogramme des étiquettes de classe

Configurer la journalisation Comet#

Tu peux configurer Comet pour consigner des données supplémentaires à l’aide d’options de ligne de commande transmises au script d’entraînement ou de variables d’environnement.

export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online
export COMET_MODEL_NAME=<your model name> # Set the name for the saved model. Defaults to yolov5
export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true
export COMET_MAX_IMAGE_UPLOADS=<number of allowed images to upload to Comet> # Controls how many total image predictions to log to Comet. Defaults to 100.
export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false
export COMET_DEFAULT_CHECKPOINT_FILENAME=<your checkpoint filename> # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt'
export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false.
export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions

Consigner les points de contrôle avec Comet#

La journalisation des modèles dans Comet est désactivée par défaut. Pour l’activer, transmets l’argument save-period au script d’entraînement. Les points de contrôle consignés seront alors enregistrés dans Comet selon l’intervalle défini par save-period.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --save-period 1

Consigner les prédictions du modèle#

Par défaut, les prédictions du modèle (images, annotations de référence et boîtes englobantes) sont consignées dans Comet. Tu peux contrôler la fréquence de journalisation des prédictions et des images associées en transmettant l’argument de ligne de commande bbox_interval. Les prédictions peuvent être visualisées dans le panneau personnalisé de détection d’objets de Comet. Cette fréquence correspond à chaque Nᵉ lot de données par époque. Dans l’exemple ci-dessous, nous consignons un lot de données sur deux pour chaque époque.

Remarque : le chargeur de données de validation de YOLOv5 utilise par défaut une taille de lot de 32 ; tu devras donc définir la fréquence de journalisation en conséquence.

Voici un exemple de projet utilisant le panneau.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 2

Contrôler le nombre d’images de prédiction consignées dans Comet#

Lors de la journalisation des prédictions de YOLOv5, Comet consigne les images associées à chaque ensemble de prédictions. Par défaut, un maximum de 100 images de validation est consigné. Tu peux augmenter ou réduire ce nombre à l’aide de la variable d’environnement COMET_MAX_IMAGE_UPLOADS.

env COMET_MAX_IMAGE_UPLOADS=200 python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --bbox_interval 1

Consigner les métriques par classe#

Utilise la variable d’environnement COMET_LOG_PER_CLASS_METRICS pour consigner la mAP, la précision, le rappel et le F1 pour chaque classe.

env COMET_LOG_PER_CLASS_METRICS=true python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt

Téléverser un jeu de données dans les artefacts Comet#

Si tu souhaites stocker tes données avec les artefacts Comet, tu peux le faire à l’aide de l’option upload_dataset.

Le jeu de données est organisé comme indiqué dans la documentation de YOLOv5. Le fichier YAML de configuration du jeu de données doit respecter le même format que le fichier coco128.yaml.

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data coco128.yaml \
  --weights yolov5s.pt \
  --upload_dataset

Tu trouveras le jeu de données importé dans l’onglet Artifacts de ton espace de travail Comet.

Onglet Artifacts de Comet, YOLOv5

Tu peux prévisualiser les données directement dans l’interface de Comet.

Prévisualiser les données dans Comet, YOLOv5

Les artefacts sont versionnés et permettent également d’ajouter des métadonnées sur le jeu de données. Comet consigne automatiquement les métadonnées du fichier YAML de ton jeu de données.

Consigner les métadonnées du fichier YAML dans Comet, YOLOv5

Utiliser un Artifact enregistré#

Pour utiliser un jeu de données provenant de Comet Artifacts, définis la variable path dans le fichier YAML de ton jeu de données afin qu’elle pointe vers l’URL de la ressource Artifact suivante.

# contents of artifact.yaml file
path: "comet://<workspace name>/<artifact name>:<artifact version or alias>"

Transmets ensuite ce fichier à ton script d’entraînement comme suit :

python train.py \
  --img 640 \
  --batch 16 \
  --epochs 5 \
  --data artifact.yaml \
  --weights yolov5s.pt

Les artefacts te permettent aussi de suivre la filiation des données au fil de ton processus d’expérimentation. Tu peux voir ici un graphique qui présente toutes les expériences ayant utilisé le jeu de données que tu as importé.

Flux de travail d’expérimentation Comet, YOLOv5

Reprendre un entraînement#

Si ton entraînement est interrompu pour une raison quelconque, par exemple à cause d’une coupure de la connexion Internet, tu peux le reprendre à l’aide du flag resume et du chemin d’exécution Comet.

Le chemin d’exécution a le format suivant : comet://<your workspace name>/<your project name>/<experiment id>.

L’exécution retrouvera son état antérieur à l’interruption : le modèle sera restauré à partir d’un checkpoint, tous les hyperparamètres et arguments d’entraînement seront rétablis et les Artifacts de jeu de données Comet seront téléchargés s’ils ont été utilisés lors de l’exécution initiale. L’exécution reprise continuera à consigner les données dans l’expérience existante de l’interface Comet.

python train.py \
  --resume "comet://<your run path>"

Recherche d’hyperparamètres avec l’Optimizer de Comet#

YOLOv5 est également intégré à l’Optimizer de Comet, ce qui te permet de visualiser facilement les balayages d’hyperparamètres dans l’interface Comet.

Configurer un balayage avec l’Optimizer#

Pour configurer l’Optimizer de Comet, tu dois créer un fichier JSON contenant les informations sur le balayage.

Un fichier d’exemple est fourni dans utils/loggers/comet/optimizer_config.json.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json"

Le script hpo.py accepte les mêmes arguments que train.py. Pour transmettre des arguments supplémentaires à ton balayage, il te suffit de les ajouter après le script.

python utils/loggers/comet/hpo.py \
  --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \
  --save-period 1 \
  --bbox_interval 1

Exécuter un balayage en parallèle#

comet optimizer -j <num_workers> utils/loggers/comet/hpo.py \
  utils/loggers/comet/optimizer_config.json

Comet offre de nombreuses façons de visualiser les résultats de ton balayage. Consulte un projet avec un balayage terminé :

Visualiser les résultats d’un balayage dans Comet, YOLOv5

Restons en contact#

Commence à utiliser notre intégration à Comet pour gérer, visualiser et optimiser tes modèles YOLOv5, de l’entraînement au suivi en production.

Et bien sûr, rejoins la communauté Ultralytics, où tu peux poser des questions et partager des conseils sur l’entraînement, la validation et le déploiement de YOLOv5.

É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