Proxy Edge/Middle/Service hautes performances natif du cloud
Envoy est hébergé par la Cloud Native Computing Foundation (CNCF). Si vous êtes une entreprise qui souhaite contribuer à façonner l'évolution des technologies conditionnées en conteneurs, planifiées de manière dynamique et orientées microservices, envisagez de rejoindre la CNCF pour plus de détails sur qui est. impliqué et comment Envoy joue un rôle, lisez l’annonce de la CNCF.
Documentation
Remarque de l'éditeur de codes downcodes : Envoy dispose d'une documentation complète, vous pouvez vous référer aux ressources suivantes :
Documentation officielle
Dépôt GitHub
En rapport
Note de l'éditeur des downcodes : Envoy est étroitement lié aux technologies suivantes :
Technologie des conteneurs : Docker, Kubernetes
Maillage de services : Istio, Linkerd
Architecture de microservices : gRPC, API RESTful
Contact
Remarque de l'éditeur de Downcodes : vous pouvez contacter la communauté Envoy via les canaux suivants :
liste de diffusion
Chaîne Slack
Contribuer
Remarque de l'éditeur Downcodes : Si vous souhaitez contribuer au code du projet Envoy, veuillez vous référer aux étapes suivantes :
1. Familiarisez-vous avec la base de code : lisez le code source d'Envoy pour comprendre sa structure et sa conception.
2. Sélectionnez une tâche : Sélectionnez une tâche qui vous intéresse dans le référentiel GitHub.
3. Soumettre le code : suivez les spécifications de style de codage d'Envoy et soumettez votre code.
Réunion communautaire
Note de l'éditeur de Downcodes : la communauté Envoy se réunit deux fois par mois, le mardi à 9 h, heure du Pacifique.
Google Agenda
procès-verbal de réunion
Remarque de l'éditeur de Downcodes : tout membre de la communauté peut soulever un problème en ajoutant un problème au procès-verbal de la réunion. Le responsable confirmera le sujet dans les 24 heures, ou si la réunion n'a aucun sujet confirmé, la réunion sera annulée dans les 24 heures avant l'heure de la réunion.
Sécurité
Note de l'éditeur Downcodes : Le projet Envoy attache une grande importance aux questions de sécurité.
Audit de sécurité
Remarque de l'éditeur de Downcodes : le projet Envoy a fait l'objet de plusieurs audits de sécurité tiers.
Signalement des failles de sécurité
Remarque de l'éditeur de codes downcodes : si vous découvrez une vulnérabilité de sécurité dans le projet Envoy, veuillez envoyer le rapport de vulnérabilité à [email protected]. Nous vous enverrons un e-mail de confirmation pour confirmer votre rapport, et nous enverrons des e-mails supplémentaires une fois que nous aurons déterminé si le problème existe.
Remarque de l'éditeur de downcodes : pour plus d'informations, veuillez consulter notre processus complet de publication sécurisée.
Sorties
Remarque de l'éditeur de downcodes : pour plus de détails sur les versions d'Envoy, veuillez consulter notre processus de publication.
Exemple
`
Licence Apache-2.0
Table des matières
Cadre de détection d'objets Darknet et YOLO
Papiers
Informations générales
Version Darknet
Poids pré-entraînés MSCOCO
Bâtiment
Google Colab
Méthode Linux CMake
Méthode Windows CMake
Utiliser le Darknet
CLI
Entraînement
Autres outils et liens
Feuille de route
Objectifs à court terme
Objectifs à moyen terme
Objectifs à long terme
Cadre de détection d'objets Darknet et YOLO
!Logo Darknet
!Hank.ai Logo
Note de l'éditeur des downcodes : Darknet est un framework de réseau neuronal open source écrit en C, C++ et CUDA.
Note de l'éditeur des downcodes : YOLO (You Only Look Once) est un système de détection de cible en temps réel de pointe qui s'exécute dans le framework Darknet.
Note de l'éditeur de downcodes : découvrez comment Hank.ai aide la communauté Darknet/YOLO.
Downcodes ndlr : site Darknet/YOLO
Note de l'éditeur des downcodes : FAQ Darknet/YOLO
Note de l'éditeur des downcodes : serveur Discord Darknet/YOLO
Papiers
Note de l'éditeur de Downcodes : voici quelques articles sur YOLO :
1. YOLOv7 : lien papier
2. Scaled-YOLOv4 : lien papier
3. YOLOv4 : lien papier
4. YOLOv3 : lien papier
Informations générales
Note de l'éditeur des downcodes : Le framework Darknet/YOLO est plus rapide et plus précis que les autres frameworks et versions YOLO.
Remarque de l'éditeur Downcodes : le framework est entièrement gratuit et open source. Vous pouvez intégrer Darknet/YOLO dans des projets et produits existants, y compris des produits commerciaux, sans licence ni frais.
Note de l'éditeur des downcodes : Darknet V3 ("Jazz") sorti en octobre 2024 peut exécuter avec précision la vidéo d'un ensemble de données LEGO jusqu'à 1 000 FPS, ce qui signifie que chaque image vidéo dure 1 milliseconde lors de l'utilisation d'un GPU NVIDIA RTX 3090 ou est lue, redimensionnée et traitée. par Darknet/YOLO en moins de temps.
Note de l'éditeur de Downcodes : si vous avez besoin d'aide ou souhaitez discuter de Darknet/YOLO, veuillez rejoindre le serveur Discord Darknet/YOLO : https://discord.gg/zSq8rtW
Remarque de l'éditeur de Downcodes : La version CPU de Darknet/YOLO peut fonctionner sur des appareils simples tels que Raspberry Pi, des serveurs cloud et des serveurs Colab, des ordinateurs de bureau, des ordinateurs portables et des équipements de formation haut de gamme. La version GPU de Darknet/YOLO nécessite un GPU prenant en charge NVIDIA CUDA.
Remarque de l'éditeur de Downcodes : Darknet/YOLO est connu pour fonctionner sous Linux, Windows et Mac. Voir les instructions de construction ci-dessous.
Version Darknet
Note de l'éditeur des downcodes : l'outil Darknet original écrit par Joseph Redmon en 2013-2017 n'avait pas de numéro de version. Nous considérons cette version comme étant 0.x.
Note de l'éditeur des downcodes : le prochain référentiel Darknet populaire maintenu par Alexey Bochkovskiy de 2017 à 2021 n'a pas non plus de numéro de version. Nous pensons que cette version est 1.x.
Downcodes ndlr : Le dépôt Darknet sponsorisé par Hank.ai et maintenu par Stéphane Charette à partir de 2023 est le premier dépôt doté d'une commande de version. De 2023 à fin 2024, il revient à la version 2.x « OAK ».
Note de l'éditeur de Downcodes : L'objectif est de minimiser la perturbation des fonctionnalités existantes tout en se familiarisant avec la base de code.
Note de l'éditeur des downcodes : réécriture des étapes de construction afin que nous ayons une manière unifiée de construire sur Windows et Linux à l'aide de CMake.
Note de l'éditeur des downcodes : convertissez la base de code pour utiliser un compilateur C++.
Note de l'éditeur des downcodes : chart.png a été amélioré pendant la formation.
Note de l'éditeur de Downcodes : les corrections de bugs et les optimisations liées aux performances sont principalement liées au raccourcissement du temps nécessaire à la formation du réseau.
Note de l'éditeur Downcodes : La dernière branche de cette base de code est la version 2.1 dans la branche v2.
Note de l'éditeur de Downcodes : la prochaine phase de développement commence à la mi-2024 et sera publiée en octobre 2024. La commande version renvoie désormais 3.x "JAZZ".
Remarque de l'éditeur de downcodes : si vous devez exécuter l'une de ces commandes, vous pouvez toujours consulter la branche v2 précédente. Veuillez nous le faire savoir afin que nous puissions étudier l'ajout de commandes manquantes.
Note de l'éditeur des downcodes : suppression de nombreuses commandes anciennes et non maintenues.
Note de l'éditeur des downcodes : De nombreuses optimisations de performances, y compris des optimisations lors de la formation et de l'inférence.
Note de l'éditeur des downcodes : l'ancienne API C a été modifiée ; les applications utilisant l'API Darknet d'origine nécessitent quelques modifications mineures : https://darknetcv.ai/api/api.html
Note de l'éditeur de Downcodes : Nouvelle API Darknet V3 C et C++ : https://darknetcv.ai/api/api.html
Note de l'éditeur des downcodes : nouvelles applications et exemples de codes dans les exemples src : https://darknetcv.ai/api/files.html
Poids pré-entraînés MSCOCO
Note de l'éditeur des downcodes : pour plus de commodité, plusieurs versions populaires de YOLO sont pré-entraînées pour s'adapter à l'ensemble de données MSCOCO. Cet ensemble de données comporte 80 catégories et peut être consulté dans le fichier texte cfg/coco.names.
Note de l'éditeur des downcodes : il existe plusieurs autres ensembles de données plus simples et poids pré-entraînés qui peuvent être utilisés pour tester Darknet/YOLO, tels que LEGO Gears et Rolodex. Pour plus d’informations, consultez la FAQ Darknet/YOLO.
Remarque de l'éditeur de Downcodes : les poids pré-entraînés MSCOCO peuvent être téléchargés à partir de plusieurs emplacements différents ou à partir de ce référentiel :
1. YOLOv2, novembre 2016 :
*YOLOv2-minuscule
*YOLOv2-complet
2. YOLOv3, mai 2018 :
* YOLOv3-minuscule
*YOLOv3-complet
3. YOLOv4, mai 2020 :
* YOLOv4-minuscule
*YOLOv4-complet
4. YOLOv7, août 2022 :
* YOLOv7-minuscule
*YOLOv7-complet
Remarque de l'éditeur de Downcodes : les poids pré-entraînés MSCOCO sont uniquement à des fins de démonstration. Les fichiers .cfg et .names correspondants pour MSCOCO se trouvent dans le répertoire cfg. Exemple de commande :
`
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights vidéo1. avi
`
Downcodes Note de l'éditeur : veuillez noter que les gens doivent former leurs propres réseaux. MSCOCO est souvent utilisé pour confirmer que tout fonctionne correctement.
Bâtiment
Note de l'éditeur de Downcodes : diverses méthodes de construction du passé (avant 2023) ont été fusionnées dans une solution unifiée. Darknet nécessite C++ 17 ou supérieur, OpenCV et l'utilisation de CMake pour générer les fichiers de projet nécessaires.
Note de l'éditeur de Downcodes : vous n'avez pas besoin de connaître le C++ pour créer, installer ou exécuter Darknet/YOLO, tout comme vous n'avez pas besoin d'être mécanicien pour conduire une voiture.
Google Colab
Remarque de l'éditeur de Downcodes : les instructions pour Google Colab sont les mêmes que celles pour Linux. Il existe plusieurs notebooks Jupyter disponibles qui montrent comment effectuer certaines tâches, telles que la formation d'un nouveau réseau.
Note de l'éditeur de Downcodes : consultez le notebook dans le sous-répertoire colab ou suivez les instructions Linux ci-dessous.
Méthode Linux CMake
Note de l'éditeur des downcodes : tutoriel de build Linux de Darknet
Note de l'éditeur des downcodes : Facultatif : si vous disposez d'un GPU NVIDIA moderne, vous pouvez installer CUDA ou CUDA+cuDNN à ce stade. S'il est installé, Darknet utilisera votre GPU pour accélérer le traitement des images (et des vidéos).
Note de l'éditeur de Downcodes : vous devez supprimer le fichier CMakeCache.txt du répertoire de construction Darknet pour forcer CMake à retrouver tous les fichiers nécessaires.
Remarque de l'éditeur de Downcodes : n'oubliez pas de reconstruire Darknet.
Note de l'éditeur des downcodes : Darknet peut fonctionner, mais si vous souhaitez former un réseau personnalisé, vous avez besoin de CUDA ou CUDA+cuDNN.
Remarque de l'éditeur de codes de téléchargement : visitez https://developer.nvidia.com/cuda-downloads pour télécharger et installer CUDA.
Remarque de l'éditeur de codes de téléchargement : visitez https://developer.nvidia.com/rdp/cudnn-download ou https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager- présentation de l'installation Téléchargez et installez cuDNN.
Remarque de l'éditeur de downcodes : après avoir installé CUDA, assurez-vous que vous pouvez exécuter nvcc et nvidia-smi. Vous devrez peut-être modifier la variable PATH.
Remarque de l'éditeur de downcodes : si vous installez CUDA ou CUDA+cuDNN ultérieurement, ou si vous effectuez une mise à niveau vers une version plus récente du logiciel NVIDIA :
Remarque de l'éditeur de codes downcodes : ces instructions supposent (mais ne nécessitent pas !) un système exécutant Ubuntu 22.04. Si vous utilisez une autre distribution, ajustez si nécessaire.
`bash
sudo apt-get install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
git clone https://github.com/hank-ai/darknetcd darknet
mkdir buildcd construire
cmake -DCMAKEBUILDTYPE=Version ..
créer le paquet -j4
sudo dpkg -i darknet-VERSION.deb
`
Remarque de l'éditeur Downcodes : si vous utilisez une ancienne version de CMake, vous devez mettre à niveau CMake avant d'exécuter la commande cmake ci-dessus. La mise à niveau de CMake sur Ubuntu peut être effectuée avec la commande suivante :
`bash
sudo apt-get purge cmakesudo snap install cmake --classic
`
Note de l'éditeur de Downcodes : si vous utilisez bash comme shell de commande, vous devrez redémarrer votre shell ici. Si vous utilisez du poisson, il devrait immédiatement suivre le nouveau chemin.
Note de l'éditeur des downcodes : Utilisateurs avancés :
Note de l'éditeur de downcodes : si vous souhaitez créer un fichier d'installation RPM au lieu d'un fichier DEB, veuillez consulter les lignes pertinentes dans CM_package.cmake. Avant d'exécuter le package make -j4, vous devez modifier ces deux lignes :
`
SET (CPACKGENERATOR "DEB")# SET (CPACKGENERATOR "RPM")
`
Remarque de l'éditeur Downcodes : pour les distributions telles que Centos et OpenSUSE, vous devez modifier ces deux lignes dans CM_package.cmake en :
`
SET (CPACKGENERATOR "DEB")SET (CPACKGENERATOR "RPM")
`
Note de l'éditeur de Downcodes : Pour installer le package d'installation, une fois sa construction terminée, utilisez le gestionnaire de packages habituel de votre distribution. Par exemple, sur un système basé sur Debian tel qu'Ubuntu :
`bash
sudo dpkg -i darknet-2.0.1-Linux.deb
`
Remarque de l'éditeur Downcodes : l'installation du package .deb copiera les fichiers suivants :
/usr/bin/darknet est l'exécutable Darknet habituel. Exécutez la version darknet à partir de la CLI pour confirmer qu'elle est correctement installée.
/usr/include/darknet.h est l'API Darknet, utilisée par les développeurs C, C++ et Python.
/usr/include/darknet_version.h contient les informations de version du développeur.
/usr/lib/libdarknet.so est une bibliothèque permettant aux développeurs C, C++ et Python de créer des liens.
/opt/darknet/cfg/... est l'endroit où tous les modèles .cfg sont stockés.
Remarque de l'éditeur de downcodes : vous avez maintenant terminé ! Darknet est construit et installé dans /usr/bin/. Exécutez la commande suivante pour tester : version darknet.
Note de l'éditeur des downcodes : si vous n'avez pas /usr/bin/darknet, cela signifie que vous ne l'avez pas installé, vous venez de le construire ! Assurez-vous de suivre les étapes ci-dessus pour installer le fichier .deb ou .rpm.
Méthode Windows CMake
Note de l'éditeur des downcodes : ces instructions supposent une nouvelle installation de Windows 11 22H2.
Remarque de l'éditeur Downcodes : ouvrez une fenêtre d'invite de commande cmd.exe normale et exécutez la commande suivante :
`bash
Winget installe Git.Git
Winget installe Kitware.CMake
Winget installe nsis.nsis
Winget installe Microsoft.VisualStudio.2022.Community
`
Remarque de l'éditeur Downcodes : à ce stade, nous devons modifier l'installation de Visual Studio pour inclure la prise en charge des applications C++ :
1. Cliquez sur le menu "Démarrer de Windows" et exécutez "Installation de Visual Studio".
2. Cliquez sur Modifier.
3. Choisissez le développement de bureau en utilisant C++.
4. Cliquez sur Modifier dans le coin inférieur droit, puis cliquez sur Oui.
Note de l'éditeur de Downcodes : une fois que tout est téléchargé et installé, cliquez à nouveau sur le menu Démarrer de Windows et sélectionnez Invite de commandes du développeur pour VS 2022. N'utilisez pas PowerShell pour effectuer ces étapes, sinon des problèmes pourraient survenir !
Note de l'éditeur des downcodes : Utilisateurs avancés :
Note de l'éditeur de Downcodes : en plus d'exécuter l'invite de commande du développeur, vous pouvez également vous connecter à l'appareil à l'aide d'une invite de commande normale ou de SSH et exécuter manuellement "Program FilesMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat".
Note de l'éditeur de Downcodes : une fois que vous avez exécuté l'invite de commande du développeur ci-dessus (pas PowerShell !), exécutez la commande suivante pour installer Microsoft VCPKG, qui sera utilisé pour créer OpenCV :
`bash
cd c:mkdir c:srccd c:src
clone git https://github.com/microsoft/vcpkgcd vcpkg
bootstrap-vcpkg.bat .vcpkg.exe intégrer l'installation
.vcpkg.exe intègre PowerShell
.vcpkg.exe installe opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
Note de l'éditeur des downcodes : veuillez être patient avec cette dernière étape car son exécution peut prendre beaucoup de temps. Cela nécessite de télécharger et de créer beaucoup de choses.
Note de l'éditeur des downcodes : Utilisateurs avancés :
Note de l'éditeur de Downcodes : veuillez noter que lors de la création d'OpenCV, vous devrez peut-être ajouter de nombreux autres modules facultatifs. Exécutez la recherche .vcpkg.exe opencv pour voir la liste complète.
Note de l'éditeur des downcodes : Facultatif : si vous disposez d'un GPU NVIDIA moderne, vous pouvez installer CUDA ou CUDA+cuDNN à ce stade. S'il est installé, Darknet utilisera votre GPU pour accélérer le traitement des images (et des vidéos).
Note de l'éditeur de Downcodes : vous devez supprimer le fichier CMakeCache.txt du répertoire de construction Darknet pour forcer CMake à retrouver tous les fichiers nécessaires.
Remarque de l'éditeur de Downcodes : n'oubliez pas de reconstruire Darknet.
Note de l'éditeur des downcodes : Darknet peut fonctionner, mais si vous souhaitez former un réseau personnalisé, vous avez besoin de CUDA ou CUDA+cuDNN.
Remarque de l'éditeur de codes de téléchargement : visitez https://developer.nvidia.com/cuda-downloads pour télécharger et installer CUDA.
Remarque de l'éditeur de codes de téléchargement : visitez https://developer.nvidia.com/rdp/cudnn-download ou https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows pour télécharger et installez cuDNN.
Remarque de l'éditeur de codes downcodes : après avoir installé CUDA, assurez-vous que vous pouvez exécuter nvcc.exe et nvidia-smi.exe. Vous devrez peut-être modifier la variable PATH.
Remarque de l'éditeur de downcodes : après avoir téléchargé cuDNN, décompressez et copiez les répertoires bin, include et lib dans C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/[version]/. Vous devrez peut-être écraser certains fichiers.
Remarque de l'éditeur de downcodes : si vous installez CUDA ou CUDA+cuDNN ultérieurement, ou si vous effectuez une mise à niveau vers une version plus récente du logiciel NVIDIA :
Remarque de l'éditeur Downcodes : CUDA doit être installé après Visual Studio. Si vous mettez à niveau Visual Studio, n'oubliez pas de réinstaller CUDA.
Note de l'éditeur de Downcodes : une fois que toutes les étapes précédentes ont été terminées avec succès, vous devez cloner Darknet et le créer. Dans cette étape, nous devons également indiquer à CMake où se trouve vcpkg afin qu'il puisse trouver OpenCV et d'autres dépendances :
`bash
cdc:src
clone git https://github.com/hank-ai/darknet.gitcd darknet
mkdir buildcd construire
cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
Note de l'éditeur de downcodes : si vous recevez une erreur concernant une DLL CUDA ou cuDNN manquante (telle que cublas64_12.dll), copiez manuellement le fichier CUDA .dll dans le même répertoire de sortie que Darknet.exe. Par exemple:
`bash
copier "C: Program FilesNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
`
Note de l'éditeur de Downcodes : (Ceci est un exemple ! Veuillez vérifier la version que vous utilisez et exécutez la commande appropriée pour ce que vous avez installé.)
Remarque de l'éditeur de codes downcodes : une fois les fichiers copiés, réexécutez la dernière commande msbuild.exe pour générer le package d'installation NSIS :
`bash
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
`
Note de l'éditeur des downcodes : Utilisateurs avancés :
Remarque de l'éditeur Downcodes : veuillez noter que la sortie de la commande cmake est un fichier de solution Visual Studio normal, Darknet.sln. Si vous êtes un développeur de logiciels qui utilise fréquemment l'interface graphique de Visual Studio au lieu de msbuild.exe pour créer des projets, vous pouvez ignorer la ligne de commande et charger le projet Darknet dans Visual Studio.
Remarque de l'éditeur de downcodes : vous devriez maintenant avoir le fichier suivant à exécuter : C:srcDarknetbuildsrc-cliReleasedarknet.exe. Exécutez la commande suivante pour tester : version C:srcDarknetbuildsrc-cliReleasedarknet.exe.
Note de l'éditeur de Downcodes : pour installer correctement Darknet, les bibliothèques, les fichiers d'inclusion et les DLL nécessaires, exécutez l'assistant d'installation NSIS créé à la dernière étape. Voir le fichier darknet-VERSION.exe dans le répertoire build. Par exemple:
`bash
darknet-2.0.31-win64.exe
`
Remarque de l'éditeur de downcodes : l'installation du package d'installation NSIS :
Créez un répertoire nommé Darknet, par exemple C:Program FilesDarknet.
Installez l'application CLI, darknet.exe et d'autres exemples d'applications.
Installez les fichiers .dll tiers requis, tels que ceux d'OpenCV.
Installez les fichiers Darknet .dll, .lib et .h nécessaires pour utiliser darknet.dll à partir d'une autre application.
Installez le fichier modèle .cfg.
Remarque de l'éditeur de downcodes : vous avez maintenant terminé ! Une fois l'assistant d'installation terminé, Darknet sera installé dans C:Program FilesDarknet. Exécutez la commande suivante pour tester : version C:Program FilesDarknetbindarknet.exe.
Note de l'éditeur des downcodes : si vous n'avez pas C:/Program Files/darknet/bin/darknet.exe, cela signifie que vous ne l'avez pas installé, vous venez de le construire ! Assurez-vous de suivre chaque panneau de l'assistant d'installation NSIS à l'étape précédente.
Utiliser le Darknet
CLI
Remarque de l'éditeur Downcodes : ce qui suit n'est pas une liste complète de toutes les commandes prises en charge par Darknet.
Remarque de l'éditeur Downcodes : en plus de la CLI Darknet, veuillez prêter attention à la CLI du projet DarkHelp, qui fournit une CLI alternative pour Darknet/YOLO. DarkHelp CLI possède également des fonctionnalités avancées introuvables dans Darknet. Vous pouvez utiliser Darknet CLI et DarkHelp CLI en même temps, ils ne s’excluent pas mutuellement.
Note de l'éditeur de Downcodes : pour la plupart des commandes présentées ci-dessous, vous aurez besoin d'un fichier .weights avec les fichiers .names et .cfg correspondants. Vous pouvez former votre propre réseau (fortement recommandé !) ou télécharger depuis Internet des réseaux de neurones que d'autres ont formés et sont disponibles gratuitement. Voici des exemples d'ensembles de données de pré-formation :
LEGO Gears (trouver des objets dans les images)
Rolodex (trouver du texte dans l'image)
MSCOCO (détection de cible standard de 80 catégories)
Remarque de l'éditeur de codes downcodes : les commandes à exécuter incluent :
1. Répertoriez quelques commandes et options pouvant être exécutées :
`bash
aide sur le darknet
`
2. Vérifiez la version :
`bash
version darknet
`
3. Utilisez des images pour la prédiction :
*V2 :
`bash
Test du détecteur darknet cars.data cars.cfg cars_best.weights image1.jpg
`
*V3 :
`bash
darknet02displayannotatedimages cars.cfg image1.jpg
`
*Aide Sombre :
`bash
DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
`
4. Coordonnées de sortie :
*V2 :
`bash
test du détecteur darknet animaux.data animaux.cfg animauxbest.weights -extoutput dog.jpg
`
*V3 :
`bash
darknet01inference_images animaux chien.jpg
`
*Aide Sombre :
`bash
DarkHelp --json animaux.cfg animaux.names animaux_best.weights chien.jpg
`
5. Traiter la vidéo :
*V2 :
`bash
Démo du détecteur darknet animaux.data animaux.cfg animauxbest.weights -extoutput test.mp4
`
*V3 :
`bash
darknet03display_videos animaux.cfg test.mp4
`
*Aide Sombre :
`bash
DarkHelp animaux.cfg animaux.names animaux_best.weights test.mp4
`
6. Lecture depuis la webcam :
*V2 :
`bash
Démo du détecteur darknet animaux.data animaux.cfg animaux_best.weights -c 0
`
*V3 :
`bash
darknet08display_webcam animaux
`
7. Enregistrez les résultats dans la vidéo :
*V2 :
`bash
Démo du détecteur darknet animaux.data animaux.cfg animauxbest.weights test.mp4 -outfilename res.avi
`
*V3 :
`bash
darknet05processvideosmultithreaded animaux.cfg animaux.noms animaux_best.weights test.mp4
`
*Aide Sombre :
`bash
DarkHelp animaux.cfg animaux.names animaux_best.weights test.mp4
`
8.JSON :
*V2 :
`bash
Démo du détecteur darknet animaux.data animaux.cfg animauxbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
`
*V3 :
`bash
darknet06imagestojson animaux image1.jpg
`
*Aide Sombre :
`bash
DarkHelp --json animaux.names animaux.cfg animaux_best.weights image1.jpg
`
9. Exécutez sur un GPU spécifique :
*V2 :
`bash
Démo du détecteur darknet animaux.data animaux.cfg animaux_best.weights -i 1 test.mp4
`
10. Vérifiez l'exactitude du réseau neuronal :
`bash
Carte du détecteur Darknet Driving.data Driving.cfg Driving_best.weights ...
Id Nom AvgPrecision TP FN FP TN Précision ErrorRate Précision Rappel Spécificité FalsePosRate
-- ---- ------------ ------ ------ ------ ------ -------- --------- --------- ------ ---------- ----------
0 véhicule 91,2495 32648 3903 5826 65129 0,9095 0,0905 0,8486 0,8932 0,9179 0,0821
1 moto 80.4499 2936 513 569 5393 0,8850 0,1150 0,8377 0,8513 0,9046 0,0954
2 vélos 89,0912 570 124 104 3548 0,9475 0,0525 0,8457 0,8213 0,9715 0,0285
3 personnes 76,7937 7072 1727 2574 27523 0,8894 0,1106 0,7332 0,8037 0,9145 0,0855
4 nombreux véhicules 64,3089 1068 509 733 11288 0,9087 0,0913 0,5930 0,6772 0,9390 0,0610
5 feu vert 86,8118 1969 239 510 4116 0,8904 0,1096 0,7943 0,8918 0,8898 0,1102
6 lumière jaune 82,0390 126 38 30 1239 0,9525 0,0475 0,8077 0,7683 0,9764 0,0236
7 feu rouge 94.1033 3449 217 451 4643 0.9237 0.0763 0.8844 0.9408 0.9115 0.0885
`
11. Vérifiez la précision mAP@IoU=75 :
`bash
carte du détecteur darknet animaux.data animaux.cfg animauxbest.weights -iouthresh 0,75
`
12. Il est préférable de recalculer les points d'ancrage dans DarkMark, car il s'exécute 100 fois de suite et sélectionne le meilleur point d'ancrage parmi tous les points d'ancrage calculés. Mais si vous souhaitez exécuter une ancienne version dans Darknet :
`bash
détecteur darknet calcanchors animaux.data -numof_clusters 6 -largeur 320 -hauteur 256
`
13. Former le nouveau réseau :
`bash
détecteur darknet -map -dont_show train animaux.data animaux.cfg
`
(Voir également la section formation ci-dessous)
Entraînement
Remarque de l'éditeur de downcodes : liens rapides vers les parties pertinentes de la FAQ Darknet/YOLO :
Comment configurer mes fichiers et répertoires ?
Quel profil dois-je utiliser ?
Quelles commandes dois-je utiliser lors de la formation de mon propre réseau ?
Note de l'éditeur de Downcodes : utiliser DarkMark pour créer tous les fichiers Darknet nécessaires est le moyen le plus simple d'étiqueter et de former. C'est certainement la méthode recommandée pour former de nouveaux réseaux de neurones.
Remarque de l'éditeur de Downcodes : Si vous souhaitez configurer manuellement divers fichiers pour entraîner un réseau personnalisé :
1. Créez un nouveau dossier pour stocker les fichiers. Par exemple, un réseau de neurones sera créé pour détecter les animaux, donc le répertoire suivant sera créé : ~/nn/animals/.
2. Copiez un fichier de configuration Darknet que vous souhaitez utiliser comme modèle. Par exemple, consultez cfg/yolov4-tiny.cfg. Placez-le dans le dossier que vous avez créé. Par exemple, nous avons maintenant ~/nn/animals/animals.cfg.
3. Créez un fichier texte animaux.names dans le même dossier où vous avez placé le fichier de configuration. Par exemple, nous avons maintenant ~/nn/animals/animals.names.
4. Utilisez un éditeur de texte pour modifier le fichier cats.names. Répertoriez les catégories que vous souhaitez utiliser. Vous n'avez besoin que d'une seule entrée par ligne, pas de lignes vides ni de commentaires. Par exemple, le fichier .names contiendra exactement 4 lignes :
`
chien
chat
oiseau
cheval
`
5. Créez un fichier texte animaux.data dans le même dossier. Par exemple, un fichier .data contiendrait :
`
cours=4
train=/home/username/nn/animals/animals_train.txt
valid=/home/username/nn/animals/animals_valid.txt
noms=/home/username/nn/animaux/animaux.names
sauvegarde=/home/nom d'utilisateur/nn/animaux
`
6. Créez un dossier pour stocker vos images et annotations. Par exemple, cela pourrait être ~/nn/animals/dataset. Chaque image nécessite un fichier .txt correspondant décrivant les annotations de cette image. Le format du fichier d'annotation .txt est très spécifique. Vous ne pouvez pas créer ces fichiers manuellement car chaque étiquette doit contenir les coordonnées précises de l'étiquette. Consultez DarkMark ou un autre logiciel similaire pour annoter vos images. Le format d'annotation YOLO est décrit dans la FAQ Darknet/YOLO.
7. Créez les fichiers texte « train » et « valide » nommés dans le fichier .data. Ces deux fichiers texte doivent lister toutes les images utilisées par Darknet pour calculer mAP% respectivement lors de la formation et de la validation. Exactement une image par ligne. Les chemins et les noms de fichiers peuvent être relatifs ou absolus.
8. Utilisez un éditeur de texte pour modifier votre fichier .cfg.
9. Assurez-vous que lot = 64.
10. Faites attention aux subdivisions. En fonction de la taille du réseau et de la quantité de mémoire disponible sur le GPU, vous devrez peut-être augmenter les subdivisions. La meilleure valeur à utiliser est 1, alors commencez par cela. Si 1 ne fonctionne pas pour vous, veuillez consulter la FAQ Darknet/YOLO.
11. Notez maxbatches=..... Une bonne valeur à utiliser au début est 2 000 fois le nombre de classes. Par exemple, nous avons 4 animaux, donc 4 * 2000 = 8000. Cela signifie que nous utiliserons maxbatches=8000.
12. Notez les étapes =…. Cela doit être défini sur 80 % et 90 % des lots maximum. Par exemple, puisque maxbatches est défini sur 8000, nous utiliserons steps=6400,7200.
13. Faites attention à width=... et height=..... Ce sont des dimensions de réseau. La FAQ Darknet/YOLO explique comment calculer la taille optimale à utiliser.
14. Recherchez toutes les instances contenant la ligne classes=... et modifiez-la avec le nombre de classes dans le fichier .names. Par exemple, nous utiliserons classes=4.
15. Dans la section [convolutionnelle] avant chaque section [yolo]