Detox: un marco de pruebas de extremo a extremo para aplicaciones móviles
Detox es un marco de prueba de extremo a extremo de código abierto diseñado específicamente para aplicaciones React Native. Ofrece una solución sólida y confiable para automatizar las pruebas de su aplicación móvil, garantizando experiencias de usuario de alta calidad.
¿Cómo es una prueba de desintoxicación?
`javascript
describe('Flujo de inicio de sesión', () => {
antes de cada uno (async () => {
espere dispositivo.reloadReactNative();
});
it('debería iniciar sesión correctamente', async () => {
await element(by.id('email')).typeText('[email protected]');
await element(by.id('contraseña')).typeText('123456');
const loginButton = elemento(by.text('Iniciar sesión'));
espere loginButton.tap();
await expect(loginButton).not.toExist();
await expect(element(by.label('Bienvenido'))).toBeVisible();
});
});
`
Este fragmento de código muestra una prueba Detox simple para una pantalla de inicio de sesión. La prueba interactúa con la aplicación en un dispositivo o simulador real, imitando las acciones de un usuario real.
¡Empieza con Detox ahora!
Acerca de la desintoxicación
Detox permite a los equipos de desarrollo móviles alcanzar una alta velocidad adoptando flujos de trabajo de integración continua. Elimina la necesidad de realizar pruebas de control de calidad manuales exhaustivas al proporcionar una potente solución para automatizar las pruebas de un extremo a otro.
Características clave:
1. Interacción entre dispositivo real y simulador: Detox prueba su aplicación móvil mientras se ejecuta en un dispositivo o simulador real, interactuando con él como un usuario real.
2. Pruebas de caja gris: Detox adopta un enfoque de prueba de caja gris, lo que proporciona un entorno de prueba más sólido y confiable que las pruebas de caja negra tradicionales.
3. Mitigación de la descamación: al pasar a las pruebas de caja gris, Detox aborda directamente la descamación inherente a menudo asociada con las pruebas de un extremo a otro.
Versiones nativas de React compatibles
Detox proporciona soporte oficial para las versiones 0.71.x, 0.72.x y 0.73.x de React Native sin la "Nueva Arquitectura" de React Native. Si bien las versiones más nuevas y la "Nueva Arquitectura" pueden funcionar con Detox, el equipo de Detox aún no las ha probado completamente.
Aunque Detox no admite oficialmente versiones anteriores de React Native, el equipo se esfuerza por mantener la compatibilidad. Si tiene algún problema con una versión no compatible, abra un problema o comuníquese con el servidor de Detox Discord para obtener ayuda.
Problemas conocidos con React Native
Detox monitorea y aborda continuamente cualquier problema conocido que pueda surgir con React Native. Puede encontrar información detallada sobre estos problemas y sus soluciones en la documentación oficial de Detox.
Comience con la desintoxicación
Para comenzar a usar Detox para su aplicación React Native, siga la Guía de inicio completa en el sitio web de Detox. Esta guía lo guiará a través del proceso de configuración, asegurándose de que Detox se ejecute en cuestión de minutos.
Sitio de documentos
Explore la documentación completa de Detox, incluidas guías detalladas, referencias de API y consejos para la solución de problemas, en el sitio web oficial de Detox.
Principios básicos de la desintoxicación
Detox desafía los principios tradicionales de las pruebas de un extremo a otro y adopta una nueva perspectiva para abordar las dificultades inherentes de las pruebas móviles. Conozca estos principios únicos en el sitio web de Detox.
Contribuyendo a la desintoxicación
Detox es un proyecto de código abierto y sus contribuciones son muy valoradas. Explore los problemas etiquetados con la etiqueta "se busca ayuda" en el repositorio de Detox para encontrar áreas donde sus habilidades pueden marcar la diferencia.
Si encuentra un error o tiene una sugerencia de nueva función, abra una incidencia en el repositorio de Detox. Para profundizar en el núcleo de Detox y contribuir a su desarrollo, consulte la Guía de contribución de Detox.
Licencia
Detox se lanza bajo la licencia Apache-2.0.
Marco de detección de objetos Darknet y YOLO
Downcodes小编 le ofrece una exploración profunda del poderoso marco de detección de objetos Darknet y su aclamado algoritmo YOLO (Solo miras una vez). Esta guía completa profundiza en los aspectos clave de este sistema ampliamente adoptado, permitiéndole aprovechar sus capacidades para diversas tareas de detección de objetos.
¡Empecemos!
Red oscura: el marco
Darknet es un marco de red neuronal de código abierto escrito en C, C++ y CUDA. Ofrece alto rendimiento y flexibilidad, lo que lo convierte en una opción popular para investigadores y desarrolladores que trabajan con detección de objetos y otras tareas de visión por computadora.
YOLO: El algoritmo
YOLO (Solo miras una vez) es un algoritmo de detección de objetos en tiempo real que opera dentro del marco Darknet. Su enfoque innovador le permite procesar imágenes en una sola pasada, lo que permite una detección de objetos rápida y precisa.
Soporte de Hank.ai para Darknet/YOLO
Hank.ai, una empresa líder en inteligencia artificial, desempeña un papel importante en el apoyo a la comunidad Darknet/YOLO, garantizando su desarrollo y accesibilidad continuos.
Anuncio de Darknet V3 "Jazz"
La última versión de Darknet, versión 3.x, acertadamente llamada "Jazz", presenta una variedad de mejoras y mejoras, que incluyen:
Rendimiento mejorado: Darknet V3 cuenta con impresionantes mejoras de rendimiento, lo que le permite procesar imágenes y vídeos a un ritmo aún más rápido.
Nueva API: la introducción de una nueva API C y C++ simplifica aún más la integración de Darknet en sus aplicaciones.
Ejemplos ampliados: la inclusión de nuevos códigos de muestra y aplicaciones dentro del directorio src-examples proporciona más oportunidades de aprendizaje práctico.
Recursos de Darknet/YOLO
Sitio web oficial: https://darknetcv.ai
Preguntas frecuentes: encuentre respuestas a preguntas comunes y obtenga más información sobre Darknet/YOLO.
Servidor de Discord: únase a la comunidad activa Darknet/YOLO en Discord para debates, soporte y colaboración.
Papeles
YOLOv7: https://arxiv.org/abs/2207.02662
Escalado-YOLOv4: https://arxiv.org/abs/2102.05909
YOLOv4: https://arxiv.org/abs/2004.10934
YOLOv3: https://pjreddie.com/media/files/papers/YOLOv3.pdf
Información general
Velocidad y precisión: Darknet/YOLO supera consistentemente a otros marcos de detección de objetos en términos de velocidad y precisión.
Código abierto: el marco y sus algoritmos asociados son completamente de código abierto, lo que permite su uso y personalización gratuitos.
Compatibilidad multiplataforma: Darknet/YOLO se ejecuta sin problemas en varias plataformas, incluidas Linux, Windows y macOS.
Versión de la red oscura
El proyecto Darknet ha pasado por múltiples iteraciones, y cada versión introduce nuevas características y mejoras.
Versión 0.x: la herramienta Darknet original desarrollada por Joseph Redmon.
Versión 1.x: mantenida por Alexey Bochkovskiy.
Versión 2.x "OAK": Patrocinada por Hank.ai y mantenida por Stéphane Charette.
Versión 3.x "JAZZ": la última versión, que presenta una API integral y mejoras de rendimiento.
Pesas preentrenadas MSCOCO
Para comenzar rápidamente, Darknet/YOLO ofrece pesos previamente entrenados para varias versiones de YOLO entrenadas en el popular conjunto de datos MSCOCO, que incluye 80 clases de objetos comunes.
Pesas previamente entrenadas para:
1. YOLOv2
2. YOLOv3
3. YOLOv4
4. YOLOv7
Estos pesos previamente entrenados están disponibles para descargar en el repositorio de Darknet.
Uso de ejemplo:
`golpear
Descargar pesas previamente entrenadas (YOLOv4-tiny)
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights
Ejecutar la detección de objetos en una imagen
darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
Ejecutar detección de objetos en un video
darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi
`
Construyendo la red oscura
Darknet requiere C++ 17 o posterior, OpenCV y utiliza CMake para la construcción.
Opciones de construcción:
1. Google Colab: utilice las mismas instrucciones que para Linux.
2. Método CMake de Linux:
*Requisitos previos:
* build-essential, git, libopencv-dev, cmake (instale usando el administrador de paquetes de su distribución)
* CUDA (opcional): Para aceleración de GPU. Descargue e instale desde https://developer.nvidia.com/cuda-downloads.
* cuDNN (opcional): descargue e instale desde https://developer.nvidia.com/rdp/cudnn-download o https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn- descripción general de la instalación del administrador de paquetes.
* Pasos de construcción:
`golpear
mkdir ~/srccd ~/src
clon de git https://github.com/hank-ai/darknet
cd red oscura
compilación mkdir
compilación de cd
cmake -DCMAKEBUILDTYPE=Lanzar ..
hacer el paquete -j4
sudo dpkg -i darknet-VERSIÓN.deb
`
3. Método CMake de Windows:
*Requisitos previos:
* Comunidad Git, CMake, NSIS, Visual Studio 2022: instalar usando Winget.
* Microsoft VCPKG: instalar para compilar OpenCV.
* Pasos de construcción:
`golpear
Centros para el Control y la Prevención de Enfermedades:
mkdirc:src
cdc:src
clon de git https://github.com/microsoft/vcpkg
cd vcpkg
arranque-vcpkg.bat
.vcpkg.exe instalación integrada
.vcpkg.exe integra powershell
.vcpkg.exe instalar opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
cd ..
clon de git https://github.com/hank-ai/darknet.git
cd red oscura
compilación mkdir
compilación de cd
cmake -DCMAKEBUILDTYPE=Versión -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=Versión PACKAGE.vcxproj
`
Usando la red oscura
CLI: Darknet proporciona una interfaz de línea de comandos para diversas tareas, que incluyen:
* Detección de objetos: Detecta objetos en imágenes y videos.
* Capacitación: entrene modelos de detección de objetos personalizados.
* Evaluación de desempeño: Mida la precisión de sus modelos.
DarkHelp: DarkHelp es una CLI alternativa y sólida con funciones adicionales como seguimiento de objetos y mosaico.
Comandos CLI de ejemplo:
`golpear
Consulta la versión Darknet
versión de la red oscura
Ejecutar la detección de objetos en una imagen
Prueba del detector darknet cars.data cars.cfg cars_best.weights image1.jpg
Entrenar una nueva red
detector de red oscura -mapa -dont_show entrenar animales.datos animales.cfg
`
Capacitación
DarkMark: una herramienta para anotar imágenes, generar datos de entrenamiento y administrar sus proyectos Darknet/YOLO.
Configuración manual: para tener más control, puede crear manualmente los archivos necesarios para la capacitación, que incluyen:
* Archivo de configuración (.cfg): Define la arquitectura de red y los hiperparámetros.
* Archivo de nombres (.names): enumera las clases de objetos que desea detectar.
* Archivo de datos (.data): Especifica los conjuntos de datos de entrenamiento y validación.
* Archivos de anotaciones (.txt): contienen coordenadas del cuadro delimitador para sus imágenes de entrenamiento.
Pasos para la capacitación manual:
1. Prepare los datos de entrenamiento: anote sus imágenes usando DarkMark u otra herramienta de anotación.
2. Cree un archivo de configuración: copie un archivo de configuración existente (por ejemplo, yolov4-tiny.cfg) y modifíquelo para su conjunto de datos específico.
3. Cree un archivo de nombres: enumere sus clases de objetos en un archivo de texto.
4. Cree un archivo de datos: especifique las rutas a sus conjuntos de datos de entrenamiento y validación.
5. Entrene el modelo:
`golpear
detector de red oscura -mapa -dont_show entrenar animales.datos animales.cfg
`
Otras herramientas y enlaces
Ayuda oscura: https://github.com/hank-ai/darkhelp
Preguntas frecuentes sobre Darknet/YOLO: https://darknetcv.ai/faq
Canal de YouTube de Stéphane: https://www.youtube.com/channel/UC3c1x727824J8oV8YfH57A
Servidor Darknet/YOLO Discord: https://discord.gg/zSq8rtW
Hoja de ruta
Metas a corto plazo:
Mejore el análisis de la línea de comandos para una mejor experiencia de usuario.
Optimice el código para mejorar el rendimiento.
Mejore la coherencia y legibilidad del código.
Metas a mediano plazo:
Reemplace char con std::string para mejorar la seguridad del código.
Optimice el uso de cv::Mat para un procesamiento de imágenes eficiente.
Amplíe la compatibilidad con formatos y canales de imagen.
Metas a largo plazo:
Agregue soporte para GPU que no sean NVIDIA.
Introduzca cuadros delimitadores girados y soporte de ángulo.
Implemente puntos clave/esqueletos y mapas de calor para una detección de objetos más compleja.
Explore las capacidades de segmentación.
Conclusión
Darknet y YOLO han revolucionado el campo de la detección de objetos, ofreciendo un marco potente y flexible tanto para investigadores, desarrolladores como para entusiastas. Al adoptar su naturaleza de código abierto, explorar los recursos disponibles y participar en la comunidad activa, puede aprovechar Darknet/YOLO para una amplia gama de aplicaciones innovadoras.
Downcodes小编 espera que esta guía completa le haya proporcionado una comprensión sólida de Darknet y YOLO, lo que le permitirá embarcarse en su viaje de detección de objetos con confianza.