Comment entraîner, valider, prédire, exporter et comparer avec les modèles Ultralytics YOLO
Apprends à entraîner, valider, prédire, exporter et comparer avec les modèles Ultralytics YOLO !

Plongeons dans l'univers d'Ultralytics et explorons les différents modes disponibles pour les modèles YOLO. Que tu entraînes des modèles de détection d'objets personnalisés ou que tu travailles sur de la segmentation, comprendre ces modes est une étape cruciale. Commençons sans plus attendre !
Grâce à la documentation d'Ultralytics, tu trouveras plusieurs modes que tu peux utiliser pour tes modèles, que ce soit pour entraîner, valider, prédire, exporter, évaluer ou suivre. Chacun de ces modes a une utilité unique et t'aide à optimiser les performances et le déploiement de ton modèle.
Link to this sectionMode entraînement#
Intéressons-nous d'abord au mode entraînement. C'est ici que tu construis et affines ton modèle. Tu trouveras des instructions détaillées et des guides vidéo dans la documentation, ce qui facilite tes débuts dans l'entraînement de modèles personnalisés.
L'entraînement d'un modèle consiste à lui fournir un nouveau jeu de données pour lui permettre d'apprendre divers modèles. Une fois entraîné, le modèle peut être utilisé en temps réel pour détecter de nouveaux objets sur lesquels il a été entraîné. Avant de lancer le processus d'entraînement, il est essentiel d'annoter ton jeu de données au format YOLO.
Link to this sectionMode validation#
Passons maintenant au mode validation. La validation est essentielle pour ajuster les hyperparamètres et s'assurer que ton modèle est performant. Ultralytics offre une variété d'options de validation, y compris des paramètres automatisés, la prise en charge de plusieurs métriques et la compatibilité avec l'API Python. Tu peux même lancer la validation directement via l'interface en ligne de commande (CLI) avec la commande ci-dessous.
Link to this sectionPourquoi valider ?#
La validation est cruciale pour :
- Précision : Garantir que ton modèle détecte les objets avec précision.
- Commodité : Simplifier le processus de validation.
- Flexibilité : Proposer plusieurs méthodes de validation.
- Ajustement des hyperparamètres : Optimiser ton modèle pour de meilleures performances.
Ultralytics fournit également des exemples que tu peux copier et coller dans tes scripts Python. Ces exemples incluent des paramètres comme la taille de l'image, la taille du batch, le périphérique (CPU ou GPU) et l'intersection sur union (IoU).
Link to this sectionMode prédiction#
Une fois ton modèle entraîné et validé, il est temps de faire des prédictions. Le mode Prédire te permet d'exécuter des inférences sur de nouvelles données et de voir ton modèle en action. Ce mode est parfait pour tester les performances de ton modèle sur des données réelles. Avec l'extrait de code Python ci-dessous, tu pourras exécuter des prédictions sur tes images !
Link to this sectionMode exportation#
Après la validation et la prédiction, tu voudras peut-être déployer ton modèle. Le mode exportation te permet de convertir ton modèle dans divers formats, tels que ONNX ou TensorRT, facilitant ainsi son déploiement sur différentes plateformes.
Link to this sectionMode évaluation (benchmark)#
Enfin, nous avons le mode benchmark. L'évaluation est essentielle pour juger des performances de ton modèle dans divers scénarios. Ce mode t'aide à prendre des décisions éclairées concernant l'allocation des ressources, l'optimisation et la rentabilité.
Link to this sectionComment réaliser un benchmark#
Pour exécuter un benchmark, tu peux utiliser les exemples fournis dans la documentation. Ils couvrent des métriques clés et des formats d'exportation, y compris ONNX et TensorRT. Tu peux également spécifier des paramètres comme la quantification entière (INT8) ou à virgule flottante (FP16) pour observer l'impact des différents réglages sur les performances.
Link to this sectionExemple réel de benchmark#
Examinons un exemple réel de benchmark. Lorsque nous évaluons notre modèle PyTorch, nous observons une vitesse d'inférence de 68 millisecondes sur un GPU RTX 3070. Après exportation vers TorchScript, la vitesse d'inférence tombe à 4 millisecondes, démontrant une amélioration significative.
Pour les modèles ONNX, nous atteignons une vitesse d'inférence de 21 millisecondes. En testant ces modèles sur un CPU (Intel i9 13e génération), nous obtenons des résultats variables. TorchScript tourne à 115 millisecondes, tandis que ONNX est plus performant avec 84 millisecondes. Enfin, OpenVINO, optimisé pour le matériel Intel, atteint un impressionnant 23 millisecondes.

Fig 1. Nicolai Nielsen démontrant comment réaliser un benchmark avec les modèles Ultralytics YOLO.
Link to this sectionL'importance du benchmark#
Le benchmark montre comment différents matériels et formats d'exportation peuvent influencer les performances de ton modèle. Il est crucial d'évaluer tes modèles, surtout si tu prévois de les déployer sur du matériel personnalisé ou des appareils de périphérie (edge devices). Ce processus garantit que ton modèle est optimisé pour l'environnement cible, offrant les meilleures performances possibles.
Link to this sectionConclusion#
En résumé, les modes de la documentation Ultralytics sont des outils puissants pour entraîner, valider, prédire, exporter et évaluer tes modèles YOLO. Chaque mode joue un rôle vital dans l'optimisation de ton modèle et sa préparation au déploiement.
N'oublie pas d'explorer et de rejoindre notre communauté et d'essayer les extraits de code fournis dans tes projets. Avec ces outils, tu peux créer des modèles hautement performants et t'assurer qu'ils fonctionnent efficacement dans n'importe quel environnement.






