Para obtener los resultados de las pruebas comparativas más recientes, consulte: https://github.com/AI-performance/embedded-ai.bench/releases
Compilación con un clic: extraiga el código del marco y compile la biblioteca;
Conversión con un clic: extraiga el modelo original, compile la herramienta de conversión y convierta el modelo;
Medición de velocidad con un clic: extraiga el modelo del marco y mida la velocidad. Extraiga el modelo de marco. El modelo de marco se almacena en diferentes almacenes de código. El proceso de prueba de velocidad completará automáticamente la extracción.
# tnncd ./tnn ./build_tnn_android.sh # sigue y lee `./tnn/build_tnn_android.sh` si falla la compilacióncd -# mnncd ./mnn ./build_mnn_android.sh # sigue y lee `./mnn/build_mnn_android.sh` si falla la compilacióncd -# ncnncd ./ncnn ./build_ncnn_android.sh # siga y lea `./ncnn/build_ncnn_android.sh` si la compilación falló cd -# tflitecd ./tflite ./build_tflite_android.sh # siga y lea `./tflite/build_tflite_android.sh` si la compilación fallócd -# benchpython bench.py# si la ejecución es correcta:# ===> editar ./core/global_config.py# === > editar el valor de `GPU_REPEATS=1000`, `CPU_REPEATS=100`, `WARMUP=20`, `ENABLE_MULTI_THREADS_BENCH=True`# ===> ./clean_bench_result.sh# ===> python bench.py# ver el resultado del benchmark a continuación# ./tnn/*.csv# ./mnn/*. csv# ./ncnn/*.csv
Los modelos actualmente admitidos son limitados, consulte: tnn-models, mnn-models, ncnn-models, tflite-models.
demostración de resultados de banco de mnn
Demostración de resultados de banco de ncnn
demostración de resultados de banco tnn
Demostración del resultado del banco tflite
La siguiente figura describe la arquitectura de este proyecto:
motor de clase: cree una instancia de cada marco mediante engine_config
, cargue modelos, compile la biblioteca del motor (TODO: para integrarse en el script py) y ejecute los resultados del banco;
BenchSum(TODO): Resume los resultados del Bench de cada instancia del Motor;
repositorio de modelos comunes (TODO): un repositorio que almacena modelos originales públicos. Como Caffe, modelos clásicos del marco TensorFlow (MobileNetV1/V2, etc.).
Almacén de modelos independiente para cada motor, como tnn-models. Contiene el modelo tnn convertido desde el almacén público de modelos, el script de compilación con un clic (TODO) del convertidor de modelos, el script de conversión con un clic (TODO) de la conversión del modelo y el script para la actualización con un solo clic del versión del modelo en README;
El almacén de modelos independiente de cada motor se actualiza de forma independiente y periódica (TODO);
Durante la ejecución, cada instancia de Engine extraerá modelos de su propio almacén de modelos independiente para prepararse para el banco.
Los sujetos que no sean la organización de código abierto de AI-Performance tienen prohibido publicar [públicamente] [resultados de referencia basados en este proyecto]. Si se publican públicamente, se considerará una infracción, y AI-Performance tiene derecho a exigir responsabilidad legal.
La organización de código abierto AI-Performance toma la neutralidad, la justicia, la imparcialidad y la apertura como principios organizacionales y se compromete a crear y formular estándares de referencia en el campo de la IA.
Por lo general, el "Modo de desarrollador" no está activado. Después de confirmar que está activado, todavía no se puede encontrar. Generalmente se puede solucionar siguiendo la siguiente secuencia:
La configuración de la conexión USB cambia de "Solo carga" a "Transferir archivos";
Cambie la interfaz USB (tal vez el voltaje);
Agregue el ID del proveedor a ~/.android/adb_usb.ini y luego adb kill-server y luego adb start-server;
Reinicie el teléfono;
Reinicie la computadora;
Cambie el cable de datos (descubrí que esto sucedió antes);
La unidad de CD Hisuite de los móviles Huawei ocupará adb. Expulse la unidad;
Flashea el teléfono.
Para enviar código por primera vez, debe ejecutar el siguiente comando para instalar el gancho. Después de una instalación exitosa, cada vez que se ejecuta git commit
, los elementos de verificación establecidos en .pre-commit-config.yaml
se verificarán automáticamente. Por ejemplo, la verificación de formato actual es para el código Python.
# La primera ejecución del gancho puede ser lenta instalación previa a la confirmación # Si no se puede encontrar, primero debe instalarla pre-commitpip install pre-commit # Si desea desinstalar, ejecute la desinstalación previa a la confirmación
Si no puede encontrar python3.8, puede instalar minconda3 y usar el siguiente comando:
# Instale miniconda3 automáticamente y escriba la variable de entorno del usuario actual.github/workflows/pre-commit-job.sh# Antes de enviar el código, cree un entorno llamado dev_env_py como ejemplo. Si lo encuentra, elija yconda create -n dev_env_py python. = 3.8# Activar el entorno recién creado conda activar dev_env_py# Reinstalar instalación previa al compromisopre-commit
Si CI se bloquea, verifique el registro específico de Github Action para ver si se debe a un tiempo de espera como
git clone
warehouse. En este momento, puedeRe-run this jobs
.
.github/workflows/unit-test-job.sh