El módulo de tiempo de ejecución de NNAPI es una biblioteca compartida que se encuentra entre una app y los controladores de backend. La API de Neural Networks (NNAPI) de Android es una API de Android C diseñada para ejecutar operaciones con mucha carga de cálculo para aprendizaje automático en dispositivos móviles y permite operaciones de inferencia aceleradas por hardware en dispositivos Android. Este módulo se puede actualizar, lo que significa que puede recibir actualizaciones de funcionalidad fuera del ciclo normal de lanzamientos de Android.
Estos son algunos de los beneficios de modularizar el tiempo de ejecución de NNAPI:
Los usuarios finales obtienen una mayor coherencia y compatibilidad.
Los desarrolladores de la plataforma pueden corregir errores en el tiempo de ejecución de la NNAPI, mejorar la interacción del tiempo de ejecución de la NNAPI con los controladores y lanzar nuevas funciones que mejoren las capacidades, la estabilidad, el rendimiento y el estado de la NNAPI.
Los desarrolladores de apps obtienen una mejor compatibilidad y rendimiento de las apps con los kernels de CPU actualizados.
Límite del módulo
En Android 12 y versiones posteriores, la revisión de HAL de NNAPI usa AIDL en lugar de HIDL.
En Android 11 y versiones anteriores, el límite del módulo de tiempo de ejecución de la NNAPI es platform/frameworks/ml/nn:libneuralnetworks.so
.
Formato del módulo
El módulo de tiempo de ejecución de NNAPI (com.android.neuralnetworks
) está en formato APEX y está disponible para dispositivos que ejecutan Android 11 o versiones posteriores.
Dependencias de módulos
Este módulo de tiempo de ejecución de NNAPI depende de NNAPI HAL y AHardwareBuffer.
Prueba
Para verificar la funcionalidad del módulo de tiempo de ejecución de la NNAPI, usa las pruebas del Conjunto de pruebas de compatibilidad (CTS) y del Conjunto de pruebas de proveedores (VTS) de Android.