API Benchmark CompiledModel

As ferramentas de comparativo de mercado do LiteRT medem e calculam estatísticas para as seguintes métricas de performance importantes:

  • Tempo de inicialização
  • Tempo de inferência do estado de aquecimento
  • Tempo de inferência do estado constante
  • Uso da memória durante a inicialização
  • Uso geral da memória

A ferramenta de comparativo de mercado CompiledModel é fornecida como um binário C++, benchmark_model. É possível executar essa ferramenta em uma linha de comando de shell no Android, Linux, macOS, Windows e dispositivos incorporados com aceleração de GPU ativada.

Baixar binários de comparativo pré-criados

Faça o download dos binários de linha de comando pré-criados noturnos seguindo os links abaixo:

Criar binário de comparativo de mercado da origem

É possível criar o binário de comparativo de mercado com base na fonte.

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

Para criar com o conjunto de ferramentas do NDK do Android, primeiro configure o ambiente de build seguindo este guia ou use a imagem do Docker conforme descrito neste guia.

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

Executar comparativo de mercado

Para executar comparativos de mercado, execute o binário no shell.

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

Mais opções de parâmetros podem ser encontradas no código-fonte de benchmark_model.

Fazer o comparativo de mercado da aceleração de GPU

Esses binários pré-criados incluem o acelerador de GPU LiteRT. Ele funciona com

  • Android: OpenCL
  • Linux: OpenCL e WebGPU (com suporte do Vulkan)
  • macOS: Metal
  • Windows: WebGPU (com suporte do Direct3D)

Para usar o acelerador de GPU, transmita a flag --use_gpu=true.

Criar perfil das operações de modelo

O binário do modelo de comparativo de mercado também permite criar perfis de operações de modelo e receber os tempos de execução de cada operador. Para fazer isso, transmita a flag --use_profiler=true para benchmark_model durante a invocação.