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

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

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.
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.
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.
La validation est essentielle pour :
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).
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 !
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.
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é.
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.
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.
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.
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.