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

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

24 juillet 2024
Apprenez à former, valider, prédire, exporter et comparer avec les modèlesYOLO 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 ladocumentation d' Ultralytics , vous trouverez plusieurs modes que vous pouvez utiliser pour vos modèles, que ce soit pour entraîner, valider, prédire, exporter, comparer ou track. Chacun de ces modes a un objectif unique et vous aide à optimiser les performances et le déploiement de votre modèle.
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 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 detect 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 commandeCLI 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ériqueCPU ou GPU) et l'intersection sur l'unionIoU.
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'é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é.
Pour exécuter un benchmark, vous pouvez utiliser les exemples d'utilisateurs 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.
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 CPU (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.

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.
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 très performants et vous assurer qu'ils fonctionnent efficacement dans n'importe quel environnement.