Résumé des problèmes liés à la formation de Darknet YOLOv3v4 sur son propre ensemble de données

0.Description

Cet article est utilisé pour enregistrer mon propre processus d'apprentissage et le partager avec des partenaires dans le besoin.

S’il y a des erreurs ou des failles dans l’article, les critiques et corrections sont les bienvenues.

1. Téléchargez le code source et les documents :

Papier YOLO v3 : Cliquez ici

Papier YOLO v4 : cliquez ici

Téléchargement de Darknet YOLOv4 :

(1) Version originale officielle : cliquez ici

(2)AlexeyAB版:cliquez ici

La version AlexeyAB nécessite plus de maintenance que la version originale, et la seconde est plus recommandée.

2. Blog de référence pour le processus de formation

Entraînez le modèle YoloV4 basé sur le framework d'apprentissage en profondeur Darknet et utilisez votre propre modèle pour traiter par lots les images et les enregistrer dans un dossier.

3. Résumé des problèmes rencontrés

(1) Rien ne peut être reconnu après la formation.

· Certains blogs disent que c'est parce que DarkNet publié par la version AB n'est pas utilisé.

Mais quand je le faisais, je ne reconnaissais rien, et ce n'était pas pour cette raison.

· Vous devez également modifier le fichier cfg pendant les tests, commenter la partie Formation et supprimer la partie Test.

· Lors des tests, vous devrez peut-être attendre un moment jusqu'à ce que le réseau soit complètement chargé avant d'entrer dans le chemin de l'image.

· Il peut également y avoir des problèmes avec l'ensemble de données lui-même, comme une distribution inégale des données (supérieure à 3:1), trop de données sans étiquettes, etc.

· Utilisation de la version GPU de DarkNet : Référence (59 messages) Yolov3 ne peut pas détecter les objets (impossible de sélectionner des cases) une fois la formation Darknet résolue ! Le blog-CSDN blog_yolo de _ROBOT_WYZ ne peut pas détecter la trame

(2) Après une formation sur des centaines de générations, le modèle a été testé et s'est révélé incapable de reconnaître quoi que ce soit.

Il se peut que le seuil soit trop élevé. Vous pouvez ajouter - thresh 0,1 après le script de test et essayer.

(3) Il doit y avoir une correspondance entre le modèle et les poids pré-entraînés.

La v3v4 a à la fois des versions non minuscules et minuscules. Téléchargez le fichier de modèle DarknetYolov3v4 et ses fichiers de poids de pré-entraînement (minuscules et non minuscules) :

https://download.csdn.net/download/m0_46749624/74399625

(4) Petite astuce

· Après avoir modifié le makefile, faites d'abord make clean, puis make (ou make -j8, compilation multi-thread, généralement quatre cœurs et huit threads)

· Définissez Opennmp dans le Makefile sur 1 pour activer l'accélération multithread du processeur.

· Lorsque la perte globale est réduite à deux décimales, l'effet peut être meilleur

· Dans le fichier de configuration cfg, définissez random pour ajuster dynamiquement la taille d'entrée du réseau afin d'améliorer la précision.

(5) Paramétrage de la taille du lot

Les valeurs couramment définies sont 8,16,32,64.

· Plus la valeur est grande, plus le réseau peut apprendre d'informations en mettant à jour les paramètres une fois, mais la taille de la mémoire vidéo doit être prise en compte.

· Plus la valeur est petite, plus chaque génération s'exécute rapidement, mais plus il faut de générations pour terminer la formation.

(6) Paramètres de taille d'entrée

· La longueur et la largeur de la taille d'entrée réseau sont généralement de 224*224, 416*416, 866*800, 1024*1024, etc.

· Mais la longueur et la largeur doivent être des multiples de 32.

· La taille des images dans l'ensemble de données sera redimensionnée à la taille d'entrée définie par le réseau.

· Plus la taille est petite, plus la vitesse d'entraînement est rapide, mais la précision est mauvaise ; plus la taille est grande, plus la vitesse d'entraînement est lente, mais plus la précision est élevée. Le format couramment utilisé est 416*416.

· Vous pouvez également utiliser 416*416 pendant la formation, puis le modifier en d'autres tailles pendant le déploiement.

Je suppose que tu aimes

Origine blog.csdn.net/m0_46749624/article/details/120843759
conseillé
Classement