API CompiledModel для сравнительного анализа производительности

Инструменты тестирования производительности LiteRT измеряют и вычисляют статистические данные по следующим важным показателям производительности:

  • Время инициализации
  • Время определения состояния прогрева
  • Время вывода стационарного состояния
  • Использование памяти во время инициализации
  • Общее использование памяти

Инструмент для тестирования производительности CompiledModel предоставляется в виде исполняемого файла C++, benchmark_model . Вы можете запустить этот инструмент из командной строки на устройствах Android, Linux, macOS, Windows и встроенных устройствах с включенным ускорением GPU.

Скачать предварительно собранные бинарные файлы для бенчмарка

Загрузите предварительно собранные в течение ночи исполняемые файлы командной строки, перейдя по следующим ссылкам:

Собрать тестовый бинарный файл из исходного кода.

Вы можете собрать бинарный файл для бенчмарка из исходного кода .

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

Для сборки с использованием инструментария Android NDK необходимо сначала настроить среду сборки, следуя этому руководству , или использовать образ Docker, как описано в этом руководстве .

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

Запустить бенчмарк

Для запуска тестов производительности выполните исполняемый файл из командной строки.

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

Дополнительные параметры можно найти в исходном коде функции benchmark_model .

Тестирование ускорения графического процессора

Эти предварительно собранные бинарные файлы включают в себя ускоритель LiteRT для графических процессоров. Он поддерживает...

  • Android: OpenCL
  • Linux: OpenCL и WebGPU (с поддержкой Vulkan)
  • macOS: Metal
  • Windows: WebGPU (с поддержкой Direct3D)

Для использования графического ускорителя передайте флаг --use_gpu=true .

Операции профилирования модели

Бинарный файл модели бенчмарка также позволяет профилировать операции модели и получать время выполнения каждого оператора. Для этого передайте флаг --use_profiler=true в benchmark_model при вызове.