Benchmark CompiledModel API

Narzędzia testu porównawczego LiteRT mierzą i obliczają statystyki dotyczące tych ważnych danych o skuteczności:

  • Czas inicjowania
  • Czas wnioskowania w stanie wczytywania danych z wyprzedzeniem
  • Czas wnioskowania w stanie ustalonym
  • Wykorzystanie pamięci podczas inicjowania
  • Ogólne wykorzystanie pamięci

Narzędzie do testów porównawczych CompiledModel jest udostępniane jako plik binarny C++benchmark_model. Możesz uruchomić to narzędzie z poziomu wiersza poleceń powłoki na urządzeniach z Androidem, Linuksem, macOS, Windowsem i urządzeniach wbudowanych z włączoną akceleracją GPU.

Pobieranie gotowych plików binarnych testów porównawczych

Pobierz nocne wersje binarne wiersza poleceń, korzystając z tych linków:

Tworzenie binarnego testu porównawczego na podstawie kodu źródłowego

Możesz utworzyć plik binarny benchmarku na podstawie źródła.

bazel build -c opt //litert/tools:benchmark_model

Aby utworzyć kompilację za pomocą łańcucha narzędzi Android NDK, musisz najpierw skonfigurować środowisko kompilacji, postępując zgodnie z tym przewodnikiem, lub użyć obrazu Dockera zgodnie z tym przewodnikiem.

bazel build -c opt --config=android_arm64 \
  //litert/tools:benchmark_model

Przeprowadź test porównawczy

Aby uruchomić testy porównawcze, wykonaj plik binarny z poziomu powłoki.

path/to/downloaded_or_built/benchmark_model \
  --graph=your_model.tflite \
  --num_threads=4

Więcej opcji parametrów znajdziesz w kodzie źródłowym benchmark_model.

Testowanie przyspieszenia GPU

Te gotowe pliki binarne obejmują akcelerator GPU LiteRT. Obsługuje

  • Android: OpenCL
  • Linux: OpenCL i WebGPU (oparte na Vulkan)
  • macOS: Metal
  • Windows: WebGPU (oparty na Direct3D)

Aby użyć akceleratora GPU, przekaż flagę --use_gpu=true.

Operacje na modelu profilu

Binarny model porównawczy umożliwia też profilowanie operacji modelu i uzyskiwanie czasów wykonania poszczególnych operatorów. Aby to zrobić, przekaż flagę --use_profiler=true do benchmark_model podczas wywołania.