Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Comment entraîner, valider, prédire, exporter et évaluer avec les modèles Ultralytics YOLO

Nuvola Ladi

3 min de lecture

24 juillet 2024

Découvrez comment entraîner, valider, prédire, exporter et évaluer les modèles Ultralytics YOLO !

Plongeons dans le monde d'Ultralytics et explorons les différents modes disponibles pour les différents modèles YOLO. Que vous entraîniez des modèles de détection d'objets personnalisés ou que vous travailliez sur la segmentation, la compréhension de ces modes est une étape cruciale. Allons-y sans plus attendre !

Dans la documentation Ultralytics, vous trouverez plusieurs modes que vous pouvez utiliser pour vos modèles, que ce soit pour entraîner, valider, prédire, exporter, évaluer ou suivre. Chacun de ces modes a un objectif unique et vous aide à optimiser les performances et le déploiement de votre modèle.

Mode entraînement

Tout d'abord, examinons le mode d'entraînement. C'est là que vous construisez et affinez votre modèle. Vous trouverez des instructions détaillées et des guides vidéo dans la documentation, ce qui facilite la prise en main de l'entraînement de vos modèles personnalisés.

L'entraînement d'un modèle implique de lui fournir un nouvel ensemble de données, lui permettant d'apprendre divers schémas. 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 commencer le processus d'entraînement, il est essentiel d'annoter votre ensemble de données au format YOLO.

Mode de validation

Ensuite, examinons le mode de validation. La validation est essentielle pour ajuster les hyperparamètres et garantir les performances de votre modèle. Ultralytics offre diverses 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. Vous pouvez même exécuter la validation directement via l'interface de ligne de commande (CLI) avec la commande ci-dessous.

Pourquoi valider ?

La validation est essentielle pour :

  • Précision : S’assurer que votre modèle détecte avec exactitude les objets.
  • Commodité : Rationalisation du processus de validation.
  • Flexibilité : Offrant plusieurs méthodes de validation.
  • Optimisation des hyperparamètres : Optimisation de votre modèle pour de meilleures performances.

Ultralytics fournit également des exemples d'utilisateurs que vous pouvez copier et coller dans vos scripts Python. Ces exemples incluent des paramètres tels que la taille de l'image, la taille du lot, le périphérique (CPU ou GPU) et l'intersection sur l'union (IoU).

Mode de prédiction

Une fois votre modèle entraîné et validé, il est temps de faire des prédictions. Le mode Predict vous permet d'exécuter l'inférence sur de nouvelles données et de voir votre modèle en action. Ce mode est parfait pour tester les performances de votre modèle sur des données réelles.

Avec l'extrait de code python ci-dessous, vous pourrez exécuter des prédictions sur vos images !

Mode d'exportation

Après la validation et la prédiction, vous pouvez déployer votre modèle. Le mode d'exportation vous permet de convertir votre modèle en différents formats, tels que ONNX ou TensorRT, ce qui facilite le déploiement sur différentes plateformes.

Mode benchmark

Enfin, nous avons le mode benchmark. L'évaluation comparative est essentielle pour évaluer les performances de votre modèle dans divers scénarios. Ce mode vous aide à prendre des décisions éclairées concernant l'allocation des ressources, l'optimisation et la rentabilité.

Comment réaliser un benchmark

Pour exécuter un benchmark, vous pouvez utiliser les exemples d'utilisateurs fournis dans la documentation. Ces exemples couvrent les métriques clés et les formats d'exportation, y compris ONNX et TensorRT. Vous pouvez également spécifier des paramètres tels que la quantification entière (INT8) ou la quantification à virgule flottante (FP16) pour voir comment différents paramètres affectent les performances.

Exemple d’évaluation comparative concrète

Prenons un exemple concret de benchmarking. Lorsque nous évaluons notre modèle PyTorch, nous constatons une vitesse d'inférence de 68 millisecondes sur un GPU RTX 3070. Après l'exportation vers TorchScript, la vitesse d'inférence chute à 4 millisecondes, ce qui témoigne d'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 (un Intel i9 de 13e génération), nous observons des résultats variables. TorchScript s'exécute en 115 millisecondes, tandis qu'ONNX est plus performant à 84 millisecondes. Enfin, OpenVINO, optimisé pour le matériel Intel, atteint un temps fulgurant de 23 millisecondes.

__wf_reserved_inherit
Fig. 1. Nicolai Nielsen démontrant comment exécuter des benchmarks avec les modèles Ultralytics YOLO.

L'importance de l'évaluation comparative

Le benchmarking montre comment différents matériels et formats d'exportation peuvent impacter les performances de votre modèle. Il est essentiel de benchmarker vos modèles, surtout si vous prévoyez de les déployer sur du matériel personnalisé ou des appareils périphériques. Ce processus garantit que votre modèle est optimisé pour l'environnement cible, offrant ainsi les meilleures performances possibles.

Conclusion

En résumé, les modes de la documentation Ultralytics sont des outils puissants pour l'entraînement, la validation, la prédiction, l'exportation et l'évaluation de vos modèles YOLO. Chaque mode joue un rôle essentiel dans l'optimisation de votre modèle et sa préparation au déploiement.

N'oubliez pas d'explorer et de rejoindre notre communauté et d'essayer les extraits de code fournis dans vos projets. Grâce à ces outils, vous pouvez créer des modèles très performants et vous assurer qu'ils fonctionnent efficacement dans n'importe quel environnement.

Construisons ensemble l'avenir
de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique

Démarrer gratuitement
Lien copié dans le presse-papiers