Skip to content

Dépannage des problèmes courants sur le site YOLO

YOLO Image des problèmes communs

Introduction

Ce guide est une aide complète à la résolution des problèmes courants rencontrés lors de la collaboration avec YOLO11 dans le cadre de vos projets Ultralytics . La résolution de ces problèmes peut être un jeu d'enfant si vous bénéficiez des conseils appropriés, ce qui permet à vos projets de rester sur la bonne voie, sans retards inutiles.



Regarder : Ultralytics YOLO11 Problèmes courants - Erreurs d'installation, problèmes de formation au modèle

Problèmes communs

Erreurs d'installation

Les erreurs d'installation peuvent être dues à diverses raisons, telles que des versions incompatibles, des dépendances manquantes ou des configurations d'environnement incorrectes. Tout d'abord, vérifiez que vous effectuez les opérations suivantes :

  • Vous utilisez Python 3.8 ou une version ultĂ©rieure, comme recommandĂ©.

  • Assurez-vous d'avoir installĂ© la bonne version de PyTorch (1.8 ou supĂ©rieure).

  • Envisagez d'utiliser des environnements virtuels pour Ă©viter les conflits.

  • Suivez le guide d'installation officiel Ă©tape par Ă©tape.

En outre, voici quelques problèmes d'installation fréquemment rencontrés par les utilisateurs, ainsi que leurs solutions respectives :

  • Erreurs d'importation ou problèmes de dĂ©pendances - Si vous obtenez des erreurs lors de l'importation de YOLO11, ou si vous rencontrez des problèmes liĂ©s aux dĂ©pendances, envisagez les Ă©tapes de dĂ©pannage suivantes :

    • Nouvelle installation: Parfois, une nouvelle installation permet de rĂ©soudre des problèmes inattendus. En particulier avec des bibliothèques comme Ultralytics, oĂą les mises Ă  jour peuvent introduire des changements dans l'arborescence des fichiers ou dans les fonctionnalitĂ©s.

    • Mettez rĂ©gulièrement Ă  jour: Assurez-vous que vous utilisez la dernière version de la bibliothèque. Les anciennes versions peuvent ne pas ĂŞtre compatibles avec les mises Ă  jour rĂ©centes, ce qui peut entraĂ®ner des conflits ou des problèmes.

    • VĂ©rifier les dĂ©pendances: VĂ©rifiez que toutes les dĂ©pendances requises sont correctement installĂ©es et que leurs versions sont compatibles.

    • Examiner les modifications: Si vous avez initialement clonĂ© ou installĂ© une ancienne version, sachez que des mises Ă  jour importantes peuvent affecter la structure ou les fonctionnalitĂ©s de la bibliothèque. Reportez-vous toujours Ă  la documentation officielle ou aux listes de modifications pour comprendre les changements majeurs.

    • N'oubliez pas que la mise Ă  jour de vos bibliothèques et dĂ©pendances est cruciale pour une expĂ©rience fluide et sans erreur.

  • Faire fonctionner YOLO11 sur GPU - Si vous avez des difficultĂ©s Ă  faire fonctionner YOLO11 sur GPU, suivez les Ă©tapes de dĂ©pannage suivantes :

    • VĂ©rifier la compatibilitĂ© et l'installation de CUDA: Assurez-vous que votre GPU est compatible avec CUDA et que CUDA est correctement installĂ©. Utilisez le nvidia-smi pour vĂ©rifier l'Ă©tat de votre version NVIDIA GPU et CUDA .

    • VĂ©rifier l'intĂ©gration de PyTorch et CUDA: S'assurer que PyTorch peut utiliser CUDA en lançant import torch; print(torch.cuda.is_available()) dans un terminal Python . S'il renvoie 'True', PyTorch est configurĂ© pour utiliser CUDA.

    • Activation de l'environnement: Assurez-vous que vous ĂŞtes dans l'environnement correct oĂą tous les paquets nĂ©cessaires sont installĂ©s.

    • Mettez Ă  jour vos paquets: Les paquets pĂ©rimĂ©s peuvent ne pas ĂŞtre compatibles avec votre GPU. Maintenez-les Ă  jour.

    • Configuration du programme: VĂ©rifiez si le programme ou le code spĂ©cifie l'utilisation de GPU . Dans YOLO11, cela peut se trouver dans les paramètres ou la configuration.

Questions relatives à la formation au modèle

Cette section aborde les problèmes courants rencontrés lors de la formation, ainsi que leurs explications et solutions respectives.

Vérification des paramètres de configuration

Enjeu: Vous n'êtes pas sûr que les paramètres de configuration de l'application .yaml sont appliqués correctement lors de l'apprentissage du modèle.

Solution: Les paramètres de configuration du .yaml doit être appliqué lors de l'utilisation du fichier model.train() fonction. Pour vous assurer que ces paramètres sont correctement appliqués, suivez les étapes suivantes :

  • Confirmez que le chemin d'accès Ă  votre .yaml est correct.
  • Assurez-vous de transmettre le chemin d'accès Ă  votre .yaml en tant que fichier data lors de l'appel Ă  model.train()comme indiquĂ© ci-dessous :
model.train(data="/path/to/your/data.yaml", batch=4)

Accélérer la formation avec plusieurs GPU

Problème: L'entraînement est lent sur un seul site GPU, et vous souhaitez accélérer le processus en utilisant plusieurs GPU.

Solution: L'augmentation de la taille des lots peut accélérer la formation, mais il est essentiel de tenir compte de la capacité de mémoire du site GPU . Pour accélérer l'entraînement avec plusieurs GPU, procédez comme suit :

  • Assurez-vous que vous disposez de plusieurs GPU.

  • Modifiez votre fichier de configuration .yaml pour spĂ©cifier le nombre de GPU Ă  utiliser, par exemple, gpus : 4.

  • Augmentez la taille du lot en consĂ©quence pour utiliser pleinement les multiples GPU sans dĂ©passer les limites de mĂ©moire.

  • Modifiez votre commande d'entraĂ®nement pour utiliser plusieurs GPU :

# Adjust the batch size and other settings as needed to optimize training speed
model.train(data="/path/to/your/data.yaml", batch=32, multi_scale=True)

Paramètres de surveillance continue

Question: Vous souhaitez savoir quels paramètres doivent être surveillés en permanence pendant l'entraînement, en dehors de la perte.

Solution: Si la perte est un paramètre crucial à surveiller, il est également essentiel de suivre d'autres paramètres pour optimiser les performances du modèle. Voici quelques mesures clés à surveiller pendant la formation :

Vous pouvez accéder à ces mesures à partir des journaux d'entraînement ou en utilisant des outils comme TensorBoard ou wandb pour la visualisation. La mise en œuvre d'un arrêt précoce basé sur ces mesures peut vous aider à obtenir de meilleurs résultats.

Outils de suivi des progrès de la formation

Question: Vous recherchez des recommandations sur les outils permettant de suivre les progrès de la formation.

Solution: Pour suivre et visualiser les progrès de la formation, vous pouvez envisager d'utiliser les outils suivants :

  • TensorBoard: TensorBoard est un choix populaire pour la visualisation des mesures de formation, y compris la perte, la prĂ©cision et plus encore. Vous pouvez l'intĂ©grer Ă  votre processus de formation YOLO11 .
  • CometLe site Comet fournit une boĂ®te Ă  outils complète pour le suivi et la comparaison d'expĂ©riences. Il vous permet de suivre les mĂ©triques, les hyperparamètres et mĂŞme les poids des modèles. L'intĂ©gration avec les modèles YOLO est Ă©galement simple, vous offrant une vue d'ensemble complète de votre cycle d'expĂ©rimentation.
  • Ultralytics HUB: Ultralytics HUB offre un environnement spĂ©cialisĂ© pour le suivi des modèles YOLO . Il s'agit d'une plateforme unique permettant de gĂ©rer les mesures, les ensembles de donnĂ©es et mĂŞme de collaborer avec votre Ă©quipe. Étant donnĂ© qu'il se concentre sur YOLO, il offre des options de suivi plus personnalisĂ©es.

Chacun de ces outils offre ses propres avantages, et vous pouvez donc prendre en compte les besoins spécifiques de votre projet avant de faire votre choix.

Comment vérifier si la formation se déroule sur le site web GPU

Problème: La valeur "device" dans les journaux de formation est "null", et vous n'êtes pas sûr que la formation se déroule sur le site GPU.

Solution: Le fait que la valeur "device" soit "null" signifie généralement que le processus de formation est configuré pour utiliser automatiquement un site GPU disponible, ce qui est le comportement par défaut. Pour vous assurer que la formation se déroule sur un site GPU spécifique, vous pouvez définir manuellement la valeur "device" sur l'index GPU (par exemple, "0" pour le premier site GPU) dans votre fichier de configuration .yaml :

device: 0

Cela affectera explicitement le processus de formation à l'adresse GPU spécifiée. Si vous souhaitez former sur le site CPU, définissez "device" sur "cpu".

Gardez un œil sur le dossier "runs" pour les journaux et les mesures afin de suivre efficacement les progrès de l'entraînement.

Considérations clés pour une formation efficace sur le modèle

Voici quelques points à garder à l'esprit si vous êtes confronté à des problèmes liés à la formation au mannequinat.

Format des données et étiquettes

  • Importance : Le fondement de tout modèle d'apprentissage automatique repose sur la qualitĂ© et le format des donnĂ©es sur lesquelles il est formĂ©.

  • Recommandation : Veillez Ă  ce que votre jeu de donnĂ©es personnalisĂ© et les Ă©tiquettes qui lui sont associĂ©es respectent le format attendu. Il est essentiel de vĂ©rifier que les annotations sont exactes et de haute qualitĂ©. Des annotations incorrectes ou de mauvaise qualitĂ© peuvent faire dĂ©railler le processus d'apprentissage du modèle, entraĂ®nant des rĂ©sultats imprĂ©visibles.

Convergence des modèles

  • Importance : La convergence du modèle garantit que le modèle a suffisamment appris Ă  partir des donnĂ©es d'apprentissage.

  • Recommandation : Lors de l'entraĂ®nement d'un modèle "Ă  partir de zĂ©ro", il est essentiel de veiller Ă  ce que le modèle atteigne un niveau de convergence satisfaisant. Cela peut nĂ©cessiter une durĂ©e d'entraĂ®nement plus longue, avec davantage d'Ă©poques, que lorsque vous affinez un modèle existant.

Taux d'apprentissage et taille des lots

  • Importance : Ces hyperparamètres jouent un rĂ´le essentiel dans la dĂ©termination de la manière dont le modèle met Ă  jour ses poids au cours de l'apprentissage.

  • Recommandation : Évaluez rĂ©gulièrement si le taux d'apprentissage et la taille du lot choisis sont optimaux pour votre ensemble de donnĂ©es spĂ©cifique. Des paramètres qui ne sont pas en harmonie avec les caractĂ©ristiques de l'ensemble de donnĂ©es peuvent entraver les performances du modèle.

RĂ©partition par classe

  • Importance : La distribution des classes dans votre ensemble de donnĂ©es peut influencer les tendances de prĂ©diction du modèle.

  • Recommandation : Évaluez rĂ©gulièrement la distribution des classes au sein de votre ensemble de donnĂ©es. En cas de dĂ©sĂ©quilibre entre les classes, le modèle risque de dĂ©velopper un biais en faveur de la classe la plus rĂ©pandue. Ce biais peut ĂŞtre Ă©vident dans la matrice de confusion, oĂą le modèle peut prĂ©dire de manière prĂ©dominante la classe majoritaire.

Vérification croisée avec les poids pré-entraînés

  • Importance : L'utilisation de poids prĂ©-entraĂ®nĂ©s peut constituer un point de dĂ©part solide pour l'apprentissage du modèle, en particulier lorsque les donnĂ©es sont limitĂ©es.

  • Recommandation : En guise de diagnostic, envisagez d'entraĂ®ner votre modèle en utilisant les mĂŞmes donnĂ©es, mais en l'initialisant avec des poids prĂ©-entraĂ®nĂ©s. Si cette approche produit une matrice de confusion bien formĂ©e, cela pourrait suggĂ©rer que le modèle "Ă  partir de zĂ©ro" pourrait nĂ©cessiter une formation ou des ajustements supplĂ©mentaires.

Cette section aborde les problèmes courants rencontrés lors de la prédiction des modèles.

Obtenir des prédictions de la boîte englobante avec votre modèle personnalisé YOLO11

Problème: Lors de l'exécution de prédictions avec un modèle personnalisé YOLO11 , le format et la visualisation des coordonnées de la boîte de délimitation posent des problèmes.

Solution:

  • Format des coordonnĂ©es : YOLO11 fournit les coordonnĂ©es du cadre de dĂ©limitation en valeurs absolues de pixels. Pour les convertir en coordonnĂ©es relatives (comprises entre 0 et 1), vous devez les diviser par les dimensions de l'image. Par exemple, supposons que la taille de votre image soit de 640x640. Vous devez alors procĂ©der comme suit :
# Convert absolute coordinates to relative coordinates
x1 = x1 / 640  # Divide x-coordinates by image width
x2 = x2 / 640
y1 = y1 / 640  # Divide y-coordinates by image height
y2 = y2 / 640
  • Nom du fichier : Pour obtenir le nom du fichier de l'image sur laquelle vous effectuez la prĂ©diction, accĂ©dez au chemin du fichier de l'image directement Ă  partir de l'objet rĂ©sultat dans votre boucle de prĂ©diction.

Filtrage des objets dans les prédictions YOLO11

Problème: Problèmes liés à la manière de filtrer et d'afficher uniquement des objets spécifiques dans les résultats de prédiction lors de l'exécution de YOLO11 à l'aide de la bibliothèque Ultralytics .

Solution: Pour détecter des classes spécifiques, utilisez l'argument classes pour spécifier les classes que vous souhaitez inclure dans le résultat. Par exemple, pour détecter uniquement les voitures (en supposant que les "voitures" ont un indice de classe 2) :

yolo task=detect mode=segment model=yolo11n-seg.pt source='path/to/car.mp4' show=True classes=2

Comprendre les mesures de précision dans les YOLO11

Problème: Confusion concernant la différence entre la précision de la boîte, la précision du masque et la précision de la matrice de confusion dans YOLO11.

Solution: La précision des boîtes mesure la précision des boîtes de délimitation prédites par rapport aux boîtes réelles de la vérité terrain en utilisant l'IoU (Intersection over Union) comme métrique. La précision des masques évalue la concordance entre les masques de segmentation prédits et les masques de vérité terrain dans la classification des objets par pixel. La précision de la matrice de confusion, quant à elle, se concentre sur la précision globale de la classification pour toutes les classes et ne tient pas compte de la précision géométrique des prédictions. Il est important de noter qu'une boîte englobante peut être géométriquement exacte (vrai positif) même si la prédiction de la classe est erronée, ce qui entraîne des différences entre la précision de la boîte et la précision de la matrice de confusion. Ces mesures évaluent des aspects distincts de la performance d'un modèle, ce qui reflète la nécessité de disposer de mesures d'évaluation différentes pour diverses tâches.

Extraction des dimensions des objets dans les YOLO11

Problème: Difficulté à récupérer la longueur et la hauteur des objets détectés dans YOLO11, en particulier lorsque plusieurs objets sont détectés dans une image.

Solution: Pour récupérer les dimensions des boîtes de délimitation, utilisez d'abord le modèle Ultralytics YOLO11 pour prédire les objets dans une image. Ensuite, extrayez les informations relatives à la largeur et à la hauteur des boîtes englobantes à partir des résultats de la prédiction.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Specify the source image
source = "https://ultralytics.com/images/bus.jpg"

# Make predictions
results = model.predict(source, save=True, imgsz=320, conf=0.5)

# Extract bounding box dimensions
boxes = results[0].boxes.xywh.cpu()
for box in boxes:
    x, y, w, h = box
    print(f"Width of Box: {w}, Height of Box: {h}")

Défis en matière de déploiement

GPU Questions relatives au déploiement

Problème : Le déploiement de modèles dans un environnement multi-GPU peut parfois conduire à des comportements inattendus tels que l'utilisation inattendue de la mémoire, des résultats incohérents entre les GPU, etc.

Solution : Vérifiez l'initialisation par défaut de GPU . Certains frameworks, comme PyTorch, peuvent initialiser les opérations CUDA sur un GPU par défaut avant de passer aux GPU désignés. Pour éviter les initialisations par défaut inattendues, spécifiez le site GPU directement lors du déploiement et de la prédiction. Utilisez ensuite des outils pour surveiller l'utilisation de GPU et l'utilisation de la mémoire afin d'identifier toute anomalie en temps réel. Assurez-vous également que vous utilisez la dernière version du framework ou de la bibliothèque.

Problèmes de conversion/exportation de modèles

Problème : Au cours du processus de conversion ou d'exportation de modèles d'apprentissage automatique vers différents formats ou plateformes, les utilisateurs peuvent rencontrer des erreurs ou des comportements inattendus.

Solution :

  • VĂ©rification de la compatibilitĂ© : Assurez-vous que vous utilisez des versions de bibliothèques et de cadres compatibles entre elles. Des versions incompatibles peuvent entraĂ®ner des erreurs inattendues lors de la conversion.

  • RĂ©initialisation de l'environnement : Si vous utilisez un environnement interactif comme Jupyter ou Colab, pensez Ă  redĂ©marrer votre environnement après avoir effectuĂ© des modifications ou des installations importantes. Un nouveau dĂ©part peut parfois rĂ©soudre des problèmes sous-jacents.

  • Documentation officielle : Reportez-vous toujours Ă  la documentation officielle de l'outil ou de la bibliothèque que vous utilisez pour la conversion. Elle contient souvent des directives spĂ©cifiques et des bonnes pratiques pour l'exportation de modèles.

  • Soutien de la communautĂ© : Consultez le dĂ©pĂ´t officiel de la bibliothèque ou du framework pour trouver des problèmes similaires signalĂ©s par d'autres utilisateurs. Les responsables ou la communautĂ© peuvent avoir fourni des solutions ou des solutions de contournement dans des fils de discussion.

  • Mettez rĂ©gulièrement Ă  jour : Assurez-vous que vous utilisez la dernière version de l'outil ou de la bibliothèque. Les dĂ©veloppeurs publient frĂ©quemment des mises Ă  jour qui corrigent les bogues connus ou amĂ©liorent les fonctionnalitĂ©s.

  • Testez progressivement : Avant d'effectuer une conversion complète, testez le processus avec un modèle ou un ensemble de donnĂ©es plus petit afin d'identifier les problèmes potentiels dès le dĂ©but.

Communauté et soutien

L'engagement auprès d'une communauté de personnes partageant les mêmes idées peut considérablement améliorer votre expérience et votre succès dans le travail avec YOLO11. Vous trouverez ci-dessous quelques canaux et ressources qui pourraient vous être utiles.

Forums et canaux pour obtenir de l'aide

Questions sur GitHub : Le dépôt YOLO11 sur GitHub a un onglet Issues où vous pouvez poser des questions, signaler des bogues et suggérer de nouvelles fonctionnalités. La communauté et les mainteneurs sont actifs ici, et c'est un endroit idéal pour obtenir de l'aide sur des problèmes spécifiques.

Ultralytics Serveur Discord : Ultralytics dispose d'un serveur Discord où vous pouvez interagir avec les autres utilisateurs et les développeurs.

Documentation et ressources officielles

Ultralytics YOLO11 Docs: La documentation officielle fournit une vue d'ensemble de YOLO11, ainsi que des guides sur l'installation, l'utilisation et le dépannage.

Ces ressources devraient constituer une base solide pour le dépannage et l'amélioration de vos projets YOLO11 , ainsi que pour la mise en relation avec d'autres membres de la communauté YOLO11 .

Conclusion

Le dépannage fait partie intégrante de tout processus de développement, et le fait de disposer des bonnes connaissances peut réduire de manière significative le temps et les efforts consacrés à la résolution des problèmes. Ce guide a pour but d'aborder les problèmes les plus courants rencontrés par les utilisateurs du modèle YOLO11 au sein de l'écosystème Ultralytics . En comprenant et en résolvant ces problèmes courants, vous pouvez assurer une progression plus fluide de votre projet et obtenir de meilleurs résultats dans vos tâches de vision par ordinateur.

N'oubliez pas que la communauté Ultralytics est une ressource précieuse. L'échange avec des collègues développeurs et des experts peut fournir des informations et des solutions supplémentaires qui ne sont peut-être pas couvertes par la documentation standard. Continuez toujours à apprendre, à expérimenter et à partager vos expériences pour contribuer au savoir collectif de la communauté.

Bon dépannage !

FAQ

Comment résoudre les erreurs d'installation avec YOLO11?

Les erreurs d'installation sont souvent dues à des problèmes de compatibilité ou à des dépendances manquantes. Assurez-vous d'utiliser Python 3.8 ou une version ultérieure et d'avoir installé PyTorch 1.8 ou une version ultérieure. Il est préférable d'utiliser des environnements virtuels pour éviter les conflits. Pour un guide d'installation étape par étape, suivez notre guide d'installation officiel. Si vous rencontrez des erreurs d'importation, essayez une nouvelle installation ou mettez à jour la bibliothèque avec la dernière version.

Pourquoi l'apprentissage de mon modèle YOLO11 est-il lent sur un seul site GPU?

La formation sur un seul site GPU peut être lente en raison de la taille importante des lots ou d'une mémoire insuffisante. Pour accélérer l'entraînement, utilisez plusieurs GPU. Assurez-vous que votre système dispose de plusieurs GPU et ajustez vos paramètres d'entraînement. .yaml pour spécifier le nombre de GPU, par exemple, gpus: 4. Augmentez la taille du lot en conséquence pour utiliser pleinement les GPU sans dépasser les limites de mémoire. Exemple de commande :

model.train(data="/path/to/your/data.yaml", batch=32, multi_scale=True)

Comment puis-je m'assurer que mon modèle YOLO11 s'entraîne sur le site GPU?

Si la valeur "device" indique "null" dans les journaux de formation, cela signifie généralement que le processus de formation est configuré pour utiliser automatiquement un GPU disponible. Pour attribuer explicitement une adresse GPU spécifique, définissez la valeur "device" dans votre fichier .yaml fichier de configuration. Par exemple :

device: 0

Cela définit le processus de formation à la première GPU. Consulter le nvidia-smi pour confirmer la configuration de CUDA .

Comment puis-je suivre les progrès de ma formation sur le modèle YOLO11 ?

Le suivi et la visualisation des progrès de la formation peuvent être gérés efficacement grâce à des outils tels que TensorBoard, Cometet Ultralytics HUB. Ces outils vous permettent d'enregistrer et de visualiser des mesures telles que la perte, la précision, le rappel et le mAP. La mise en œuvre d'un arrêt précoce basé sur ces mesures peut également aider à obtenir de meilleurs résultats de formation.

Que dois-je faire si YOLO11 ne reconnaît pas le format de mon jeu de données ?

Assurez-vous que votre jeu de données et vos étiquettes sont conformes au format attendu. Vérifiez que les annotations sont précises et de qualité. Si vous rencontrez des problèmes, consultez le guide de collecte et d'annotation des données pour connaître les meilleures pratiques. Pour des conseils plus spécifiques aux jeux de données, consultez la section Jeux de données de la documentation.

📅C réé il y a 1 an ✏️ Mis à jour il y a 2 mois

Commentaires