Comment former, valider, prédire, exporter et comparer avec les modèles YOLO d'Ultralytics ?

Nuvola Ladi

3 minutes de lecture

24 juillet 2024

Apprenez à former, valider, prédire, exporter et comparer avec les modèles YOLO d'Ultralytics !

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 tout de suite !

Dans la documentation d' Ultralytics , vous trouverez plusieurs modes que vous pouvez utiliser pour vos modèles, que ce soit pour former, valider, prédire, exporter, comparer 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 train

Commençons par le mode train. C'est ici 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 vous permettra de commencer facilement à former vos modèles personnalisés.

L'entraînement d'un modèle consiste à lui fournir un nouvel ensemble de données, ce qui lui permet d'apprendre différents 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 commencer le processus de formation, il est essentiel d'annoter votre ensemble de données au format YOLO.

Mode de validation

Passons maintenant au mode de validation. La validation est essentielle pour régler les hyperparamètres et s'assurer que votre modèle fonctionne bien. Ultralytics fournit une variété d'options de validation, y compris des paramètres automatisés, un support multi-métrique et une compatibilité avec l'API Python. Vous pouvez même lancer 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: Veiller à ce que votre modèle détecte les objets avec précision.
  • Commodité: Rationalisation du processus de validation.
  • Flexibilité: Offre de multiples méthodes de validation.
  • Optimisation des hyperparamètres: Optimisation de votre modèle pour de meilleures performances.

Ultralytics fournit également des exemples d'utilisation 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 prédictif

Une fois votre modèle formé et validé, il est temps de faire des prédictions. Le mode Prédire 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 serez en mesure d'effectuer des prédictions sur vos images !

Mode d'exportation

Après avoir validé et prédit, vous voudrez peut-être déployer votre modèle. Le mode d'exportation vous permet de convertir votre modèle dans différents formats, tels que ONNX ou TensorRT, ce qui facilite son déploiement sur différentes plateformes.

Mode benchmark

Enfin, nous avons le mode benchmark. L'analyse comparative est essentielle pour évaluer les performances de votre modèle dans différents scénarios. Ce mode vous aide à prendre des décisions éclairées en matière d'allocation des ressources, d'optimisation et de rentabilité.

Comment évaluer les performances

Pour exécuter un benchmark, vous pouvez utiliser les exemples utilisateur fournis dans la documentation. Ces exemples couvrent les mesures clés et les formats d'exportation, y compris ONNX et TensorRT. Vous pouvez également spécifier des paramètres tels que la quantification des nombres entiers (INT8) ou la quantification des nombres à virgule flottante (FP16) pour voir l'impact des différents paramètres sur les performances.

Exemple d'évaluation comparative dans le monde réel

Prenons un exemple concret d'analyse comparative. Lorsque nous comparons notre modèle PyTorch, nous remarquons une vitesse d'inférence de 68 millisecondes sur un GPU RTX 3070. Après l'exportation vers TorchScript, la vitesse d'inférence tombe à 4 millisecondes, ce qui représente une amélioration significative.

Pour les modèles ONNX, nous obtenons une vitesse d'inférence de 21 millisecondes. En testant ces modèles sur un processeur (un Intel i9 de 13ème génération), nous obtenons des résultats variables. TorchScript fonctionne à 115 millisecondes, tandis qu'ONNX obtient de meilleurs résultats à 84 millisecondes. Enfin, OpenVINO optimisé pour le matériel Intel atteint un temps record de 23 millisecondes.

__wf_reserved_inherit
Fig. 1. Nicolai Nielsen montre comment réaliser une analyse comparative avec les modèles YOLO d'Ultralytics.

L'importance de l'étalonnage des performances

L'analyse comparative montre comment les différents matériels et formats d'exportation peuvent influer sur les performances de votre modèle. Il est essentiel de procéder à une analyse comparative de vos modèles, en particulier si vous prévoyez de les déployer sur du matériel personnalisé ou des appareils périphériques. Ce processus permet de s'assurer que votre modèle est optimisé pour l'environnement cible et qu'il offre 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'analyse comparative de vos modèles YOLO. Chaque mode joue un rôle essentiel dans l'optimisation de votre modèle et dans 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 performants et vous assurer qu'ils fonctionnent efficacement dans n'importe quel environnement.

Construisons ensemble le futur
de l'IA !

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

Commencer gratuitement
Lien copié dans le presse-papiers