Las herramientas de comparativas de LiteRT miden y calculan estadísticas para las siguientes métricas de rendimiento importantes:
- Hora de inicialización
- Tiempo de inferencia del estado de preparación
- Tiempo de inferencia del estado estable
- Uso de memoria durante el tiempo de inicialización
- Uso general de la memoria
La herramienta de comparativas CompiledModel se proporciona como un objeto binario de C++, benchmark_model. Puedes ejecutar esta herramienta desde una línea de comandos de shell en Android, Linux, macOS, Windows y dispositivos integrados con la aceleración por GPU habilitada.
Descarga objetos binarios de comparativas compilados previamente
Descarga los binarios de línea de comandos precompilados de la versión nocturna con los siguientes vínculos:
Cómo compilar el objeto binario de la comparativa a partir del código fuente
Puedes compilar el objeto binario de la comparativa a partir del código fuente.
bazel build -c opt //litert/tools:benchmark_model
Para compilar con la cadena de herramientas de Android NDK, primero debes configurar el entorno de compilación siguiendo esta guía o usar la imagen de Docker como se describe en esta guía.
bazel build -c opt --config=android_arm64 \
//litert/tools:benchmark_model
Ejecutar comparativa
Para ejecutar comparativas, ejecuta el objeto binario desde la shell.
path/to/downloaded_or_built/benchmark_model \
--graph=your_model.tflite \
--num_threads=4
Puedes encontrar más opciones de parámetros en el código fuente de benchmark_model.
Cómo comparar el rendimiento de la aceleración por GPU
Estos archivos binarios prediseñados incluyen el acelerador de GPU de LiteRT. Admite
- Android: OpenCL
- Linux: OpenCL y WebGPU (con el respaldo de Vulkan)
- macOS: Metal
- Windows: WebGPU (con tecnología de Direct3D)
Para usar el acelerador de GPU, pasa la marca --use_gpu=true.
Perfil de las operaciones del modelo
El archivo binario del modelo de comparativa también te permite generar perfiles de las operaciones del modelo y obtener los tiempos de ejecución de cada operador. Para ello, pasa la marca --use_profiler=true a benchmark_model durante la invocación.