Contrôle vert
Lien copié dans le presse-papiers

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

Apprends à former, valider, prédire, exporter et comparer avec Ultralytics YOLO Models !

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

Dans ladocumentation de Ultralytics , tu trouveras plusieurs modes que tu peux utiliser pour tes modèles, que ce soit pour former, valider, prédire, exporter, comparer ou suivre. Chacun de ces modes a un but unique et t'aide à optimiser les performances et le déploiement de ton modèle.

Mode train

Tout d'abord, examinons le mode train. 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 te permettra de commencer facilement à former tes 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 divers modèles. Une fois formé, le modèle peut être utilisé en temps réel pour détecter de nouveaux objets sur lesquels il a été formé. Avant de commencer le processus de formation, il est essentiel d'annoter ton jeu de données au format YOLO .

Mode de validation

Ensuite, plongeons dans le mode de validation. La validation est essentielle pour régler les hyperparamètres et s'assurer que ton modèle fonctionne bien. Ultralytics offre une variété d'options de validation, y compris des paramètres automatisés, une prise en charge multimétrique et une compatibilité avec l'API Python . Tu peux même lancer la validation directement via l'interface de ligne de commande (CLI) à l'aide de la commande ci-dessous.


yolo detect val model=yolov8n.pt # val official model

Pourquoi valider ?

La validation est essentielle pour :

  • Précision: S'assurer que ton modèle détecte les objets avec précision.
  • Pratique: Rationalisation du processus de validation.
  • Flexibilité: Offrir plusieurs méthodes de validation.
  • Réglage des hyperparamètres: Optimise ton modèle pour obtenir de meilleures performances.

Ultralytics fournit également des exemples d'utilisation que tu peux copier et coller dans tes scripts Python . Ces exemples comprennent 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édiction

Une fois que ton modèle est entraîné et validé, il est temps de faire des prédictions. Le mode Prédire te permet d'effectuer une inférence 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 faire des prédictions sur tes images !


from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

Mode d'exportation

Après avoir validé et prédit, tu peux vouloir déployer ton modèle. Le mode d'exportation te permet de convertir ton modèle dans différents formats, tels que ONNX ou TensorRT, ce qui facilite son déploiement sur différentes plates-formes.

Mode Benchmark

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

Comment faire une analyse comparative

Pour effectuer une analyse comparative, tu peux 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. Tu peux é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'analyse comparative dans le monde réel

Examinons un exemple réel d'analyse comparative. Lorsque nous comparons notre modèle PyTorch , nous remarquons une vitesse d'inférence de 68 millisecondes sur une RTX 3070 GPU. 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 que ONNX obtient de meilleurs résultats à 84 millisecondes. Enfin, OpenVINO optimisé pour le matériel Intel atteint une vitesse fulgurante de 23 millisecondes.

Fig 1. Nicolai Nielsen montre comment effectuer une analyse comparative avec Ultralytics YOLO Models.

L'importance de l'analyse comparative

L'analyse comparative montre comment les différents matériels et formats d'exportation peuvent avoir un impact sur les performances de ton modèle. Il est crucial d'étalonner tes modèles, surtout si tu prévois de les déployer sur du matériel personnalisé ou des appareils périphériques. Ce processus permet de s'assurer que ton 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 former, valider, prédire, exporter et comparer tes modèles YOLO . Chaque mode joue un rôle essentiel dans l'optimisation de ton modèle et dans 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. Grâce à ces outils, tu peux créer des modèles performants et t'assurer qu'ils fonctionnent efficacement dans n'importe quel environnement.

Logo FacebookLogo de TwitterLogo LinkedInSymbole du lien de copie

Lire la suite dans cette catégorie

Construisons ensemble le futur
de l'IA !

Commence ton voyage avec le futur de l'apprentissage automatique.