Detox : un cadre de test de bout en bout en boîte grise pour les applications mobiles
Detox est un framework de test open source de bout en bout spécialement conçu pour les applications React Native. Il offre une solution robuste et fiable pour automatiser les tests de vos applications mobiles, garantissant ainsi une expérience utilisateur de haute qualité.
À quoi ressemble un test détox ?
`javascript
décrire('Flux de connexion', () => {
avantEach(async() => {
attendre périphérique.reloadReactNative();
});
it('doit se connecter avec succès', async() => {
wait element(by.id('email')).typeText('[email protected]');
wait element(by.id('password')).typeText('123456');
const loginButton = element(by.text('Connexion'));
attendre loginButton.tap();
wait attend(loginButton).not.toExist();
wait attend(element(by.label('Welcome'))).toBeVisible();
});
});
`
Cet extrait de code illustre un test Detox simple pour un écran de connexion. Le test interagit avec l'application sur un appareil ou un simulateur réel, imitant les actions d'un utilisateur réel.
Commencez dès maintenant avec Detox !
À propos de Détox
Detox permet aux équipes de développement mobile d'atteindre une vitesse élevée en adoptant des flux de travail d'intégration continue. Il élimine le besoin de tests d’assurance qualité manuels approfondis en fournissant une solution puissante pour automatiser les tests de bout en bout.
Principales caractéristiques :
1. Interaction appareil réel/simulateur : Detox teste votre application mobile lorsqu'elle s'exécute sur un appareil réel ou un simulateur, en interagissant avec lui comme un véritable utilisateur.
2. Tests en boîte grise : Detox adopte une approche de test en boîte grise, offrant un environnement de test plus robuste et plus fiable que les tests en boîte noire traditionnels.
3. Atténuation de la desquamation : en passant aux tests en boîte grise, Detox s'attaque directement à la desquamation inhérente souvent associée aux tests de bout en bout.
Versions natives React prises en charge
Detox fournit un support officiel pour les versions 0.71.x, 0.72.x et 0.73.x de React Native sans la « nouvelle architecture » de React Native. Bien que les versions plus récentes et la « Nouvelle Architecture » puissent fonctionner avec Detox, elles n'ont pas encore été entièrement testées par l'équipe Detox.
Bien que Detox ne prenne pas officiellement en charge les anciennes versions de React Native, l'équipe s'efforce de maintenir la compatibilité. Si vous rencontrez des problèmes avec une version non prise en charge, veuillez ouvrir un problème ou contacter le serveur Detox Discord pour obtenir de l'aide.
Problèmes connus avec React Native
Detox surveille et résout en permanence tous les problèmes connus pouvant survenir avec React Native. Vous pouvez trouver des informations détaillées sur ces problèmes et leurs solutions dans la documentation officielle de Detox.
Commencez la détox
Pour commencer à utiliser Detox pour votre application React Native, suivez le guide de démarrage complet sur le site Web de Detox. Ce guide vous guidera tout au long du processus de configuration, garantissant que Detox fonctionne en quelques minutes.
Site de documents
Explorez la documentation complète de Detox, y compris des guides détaillés, des références API et des conseils de dépannage, sur le site officiel de Detox.
Principes fondamentaux de la détox
Detox remet en question les principes traditionnels des tests de bout en bout, en adoptant une nouvelle perspective pour résoudre les difficultés inhérentes aux tests mobiles. Découvrez ces principes uniques sur le site Detox.
Contribuer à la détox
Detox est un projet open source et vos contributions sont très appréciées. Explorez les problèmes marqués du label « aide recherchée » sur le référentiel Detox pour trouver les domaines dans lesquels vos compétences peuvent faire la différence.
Si vous rencontrez un bug ou avez une suggestion de nouvelle fonctionnalité, ouvrez un ticket sur le référentiel Detox. Pour plonger au cœur de la Détox et contribuer à son développement, référez-vous au Guide de contribution Détox.
Licence
Detox est publié sous la licence Apache-2.0.
Cadre de détection d'objets Darknet et YOLO
Downcodes小编 vous propose une exploration approfondie du puissant cadre de détection d'objets Darknet et de son célèbre algorithme YOLO (You Only Look Once). Ce guide complet aborde les aspects clés de ce système largement adopté, vous permettant d'exploiter ses capacités pour diverses tâches de détection d'objets.
Commençons !
Darknet : le cadre
Darknet est un framework de réseau neuronal open source écrit en C, C++ et CUDA. Il offre des performances et une flexibilité élevées, ce qui en fait un choix populaire pour les chercheurs et les développeurs travaillant avec la détection d'objets et d'autres tâches de vision par ordinateur.
YOLO : l'algorithme
YOLO (You Only Look Once) est un algorithme de détection d'objets en temps réel qui fonctionne dans le cadre Darknet. Son approche innovante lui permet de traiter les images en un seul passage, permettant une détection d'objet rapide et précise.
Prise en charge de Hank.ai pour Darknet/YOLO
Hank.ai, une société leader en IA, joue un rôle important dans le soutien de la communauté Darknet/YOLO, garantissant son développement et son accessibilité continus.
Annonce du Darknet V3 "Jazz"
La dernière version de Darknet, la version 3.x, bien nommée « Jazz », introduit une série d'améliorations et d'améliorations, notamment :
Performances améliorées : Darknet V3 offre des gains de performances impressionnants, lui permettant de traiter les images et les vidéos à un rythme encore plus rapide.
Nouvelle API : L'introduction d'une nouvelle API C et C++ simplifie encore l'intégration du Darknet dans vos applications.
Exemples étendus : l'inclusion de nouveaux exemples de code et d'applications dans le répertoire src-examples offre davantage d'opportunités d'apprentissage pratique.
Ressources Darknet/YOLO
Site officiel : https://darknetcv.ai
FAQ : trouvez des réponses aux questions courantes et apprenez-en davantage sur Darknet/YOLO.
Serveur Discord : rejoignez la communauté active Darknet/YOLO sur Discord pour des discussions, de l'assistance et une collaboration.
Papiers
YOLOv7 : https://arxiv.org/abs/2207.02662
Mise à l'échelle-YOLOv4 : https://arxiv.org/abs/2102.05909
YOLOv4 : https://arxiv.org/abs/2004.10934
YOLOv3 : https://pjreddie.com/media/files/papers/YOLOv3.pdf
Informations générales
Vitesse et précision : Darknet/YOLO surpasse systématiquement les autres frameworks de détection d'objets en termes de vitesse et de précision.
Open Source : Le framework et ses algorithmes associés sont entièrement open source, permettant une utilisation et une personnalisation gratuites.
Prise en charge multiplateforme : Darknet/YOLO fonctionne de manière transparente sur diverses plates-formes, notamment Linux, Windows et macOS.
Version Darknet
Le projet Darknet a subi plusieurs itérations, chaque version introduisant de nouvelles fonctionnalités et améliorations.
Version 0.x : L'outil Darknet original développé par Joseph Redmon.
Version 1.x : maintenue par Alexey Bochkovskiy.
Version 2.x "OAK" : Sponsorisée par Hank.ai et maintenue par Stéphane Charette.
Version 3.x « JAZZ » : La dernière version, introduisant une API complète et des améliorations de performances.
Poids pré-entraînés MSCOCO
Pour démarrer rapidement, Darknet/YOLO propose des pondérations pré-entraînées pour différentes versions de YOLO entraînées sur l'ensemble de données populaire MSCOCO, qui comprend 80 classes d'objets courantes.
Poids pré-entraînés pour :
1. YOLOv2
2. YOLOv3
3. YOLOv4
4. YOLOv7
Ces poids pré-entraînés sont disponibles en téléchargement sur le référentiel Darknet.
Exemple d'utilisation :
`bash
Télécharger des poids pré-entraînés (YOLOv4-tiny)
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights
Exécuter la détection d'objet sur une image
darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
Exécuter la détection d'objets sur une vidéo
darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi
`
Construire le Darknet
Darknet nécessite C++ 17 ou version ultérieure, OpenCV et utilise CMake pour la construction.
Options de construction :
1. Google Colab : utilisez les mêmes instructions que pour Linux.
2. Méthode Linux CMake :
* Prérequis :
* build-essential, git, libopencv-dev, cmake (installer à l'aide du gestionnaire de paquets de votre distribution)
* CUDA (facultatif) : pour l'accélération GPU. Téléchargez et installez depuis https://developer.nvidia.com/cuda-downloads.
* cuDNN (facultatif) : téléchargez et installez depuis https://developer.nvidia.com/rdp/cudnn-download ou https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn- présentation de l'installation du gestionnaire de packages.
* Étapes de construction :
`bash
mkdir ~/srccd ~/src
clone git https://github.com/hank-ai/darknet
cd darknet
mkdir construire
construction de CD
cmake -DCMAKEBUILDTYPE=Version ..
créer le paquet -j4
sudo dpkg -i darknet-VERSION.deb
`
3. Méthode Windows CMake :
* Prérequis :
* Communauté Git, CMake, NSIS, Visual Studio 2022 : installation à l'aide de Winget.
* Microsoft VCPKG : installez pour créer OpenCV.
* Étapes de construction :
`bash
CDC:
mkdir c:src
cdc:src
clone git https://github.com/microsoft/vcpkg
cdvcpkg
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
cd..
clone git https://github.com/hank-ai/darknet.git
cd darknet
mkdir construire
construction de CD
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
`
Utiliser le Darknet
CLI : Darknet fournit une interface de ligne de commande pour diverses tâches, notamment :
* Détection d'objets : détectez des objets dans les images et les vidéos.
* Formation : Former des modèles de détection d'objets personnalisés.
* Évaluation des performances : mesurez la précision de vos modèles.
DarkHelp : DarkHelp est une CLI alternative et robuste avec des fonctionnalités supplémentaires telles que le suivi des objets et la mosaïque.
Exemples de commandes CLI :
`bash
Vérifiez la version Darknet
version darknet
Exécuter la détection d'objet sur une image
Test du détecteur darknet cars.data cars.cfg cars_best.weights image1.jpg
Former un nouveau réseau
détecteur darknet -map -dont_show train animaux.data animaux.cfg
`
Entraînement
DarkMark : Un outil pour annoter des images, générer des données d'entraînement et gérer vos projets Darknet/YOLO.
Configuration manuelle : pour plus de contrôle, vous pouvez créer manuellement les fichiers nécessaires à la formation, notamment :
* Fichier de configuration (.cfg) : définit l'architecture réseau et les hyperparamètres.
* Fichier de noms (.names) : répertorie les classes d'objets que vous souhaitez détecter.
* Fichier de données (.data) : spécifie les ensembles de données de formation et de validation.
* Fichiers d'annotation (.txt) : contiennent les coordonnées du cadre de délimitation de vos images d'entraînement.
Étapes de la formation manuelle :
1. Préparez les données d'entraînement : annotez vos images à l'aide de DarkMark ou d'un autre outil d'annotation.
2. Créer un fichier de configuration : copiez un fichier de configuration existant (par exemple, yolov4-tiny.cfg) et modifiez-le pour votre ensemble de données spécifique.
3. Créez un fichier de noms : répertoriez vos classes d'objets dans un fichier texte.
4. Créer un fichier de données : spécifiez les chemins d'accès à vos ensembles de données de formation et de validation.
5. Entraîner le modèle :
`bash
détecteur darknet -map -dont_show train animaux.data animaux.cfg
`
Autres outils et liens
DarkHelp : https://github.com/hank-ai/darkhelp
FAQ Darknet/YOLO : https://darknetcv.ai/faq
Chaîne YouTube de Stéphane : https://www.youtube.com/channel/UC3c1x727824J8oV8YfH57A
Serveur Discord Darknet/YOLO : https://discord.gg/zSq8rtW
Feuille de route
Objectifs à court terme :
Améliorez l'analyse de la ligne de commande pour une meilleure expérience utilisateur.
Optimisez le code pour améliorer les performances.
Améliorez la cohérence et la lisibilité du code.
Objectifs à moyen terme :
Remplacez char par std::string pour une sécurité améliorée du code.
Optimisez l’utilisation de cv::Mat pour un traitement d’image efficace.
Étendez la prise en charge des formats d'image et des canaux.
Objectifs à long terme :
Ajoutez la prise en charge des GPU non NVIDIA.
Introduisez des cadres de délimitation pivotés et un support d’angle.
Implémentez des points clés/squelettes et des cartes thermiques pour une détection d'objets plus complexes.
Explorez les capacités de segmentation.
Conclusion
Darknet et YOLO ont révolutionné le domaine de la détection d'objets, offrant un cadre puissant et flexible aux chercheurs, aux développeurs et aux passionnés. En adoptant sa nature open source, en explorant les ressources disponibles et en participant à la communauté active, vous pouvez tirer parti de Darknet/YOLO pour un large éventail d'applications innovantes.
Downcodes小编 espère que ce guide complet vous a doté d'une solide compréhension de Darknet et de YOLO, vous permettant de vous lancer dans votre voyage de détection d'objets en toute confiance !