API Benchmark CompiledModel

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.