Gli strumenti di benchmarking LiteRT misurano e calcolano le statistiche per le seguenti importanti metriche sul rendimento:
- Tempo di inizializzazione
- Tempo di inferenza dello stato di warmup
- Tempo di inferenza dello stato stazionario
- Utilizzo della memoria durante il tempo di inizializzazione
- Utilizzo complessivo della memoria
Lo strumento di benchmarking CompiledModel viene fornito come binario C++,
benchmark_model. Puoi eseguire questo strumento da una riga di comando della shell su
Android, Linux, macOS, Windows e dispositivi incorporati con accelerazione GPU
abilitata.
Scarica i file binari del benchmark predefinito
Scarica i file binari precompilati della riga di comando notturni seguendo i link riportati di seguito:
Crea il file binario del benchmark dalla sorgente
Puoi creare il benchmark binario dal codice sorgente.
bazel build -c opt //litert/tools:benchmark_model
Per eseguire la build con la toolchain Android NDK, devi prima configurare l'ambiente di build seguendo questa guida o utilizzare l'immagine Docker come descritto in questa guida.
bazel build -c opt --config=android_arm64 \
//litert/tools:benchmark_model
Esegui benchmark
Per eseguire i benchmark, esegui il file binario dalla shell.
path/to/downloaded_or_built/benchmark_model \
--graph=your_model.tflite \
--num_threads=4
Puoi trovare altre opzioni per i parametri nel codice sorgente di benchmark_model.
Benchmark dell'accelerazione GPU
Questi binari precompilati includono l'acceleratore GPU LiteRT. Supporta
- Android: OpenCL
- Linux: OpenCL e WebGPU (supportato da Vulkan)
- macOS: Metal
- Windows: WebGPU (supportato da Direct3D)
Per utilizzare l'acceleratore GPU, passa il flag --use_gpu=true.
Profilare le operazioni del modello
Il file binario del modello di benchmark consente anche di profilare le operazioni del modello e ottenere
i tempi di esecuzione di ciascun operatore. Per farlo, passa il flag
--use_profiler=true a benchmark_model durante la chiamata.