Skip to main content
LiteRT 开源框架提供了 benchmark_model 工具,用于使用委托测量硬件上的模型执行性能。该工具与其他 LiteRT 构件一起安装在目标设备上。 该工具测量并报告以下性能指标:
  • 初始化时间
  • 推理时间(预热和稳态)
  • 初始化期间的内存使用
  • 总体内存使用

前提条件

在运行基准测试之前,请确保您已准备好以下内容:
  • 一台运行 Ubuntu 22.04 的主机
  • 一个 Qualcomm 开发套件

设置模型文件

1

下载示例模型、标签文件和测试图像

2

下载并解压 MobileNet 模型归档

在主机上:
3

在目标设备上创建 artifacts 目录

4

将模型、图像和标签文件复制到设备

在主机上:
示例应用程序使用在包含 1000 个类别的 ImageNet 数据集上训练的 MobileNet v1 模型作为示例分类模型。

在 CPU 上进行基准测试

label_image 示例应用程序与 LiteRT 库交叉编译,并安装在目标设备上。源代码可在 TensorFlow GitHub 仓库中获取。 要使用 XNNPACK 委托在 CPU 上进行基准测试:
LiteRT CPU 基准测试的示例输出

LiteRT CPU 基准测试的示例输出

在 GPU 上进行基准测试

要使用 GPU 委托进行基准测试:
LiteRT GPU 基准测试的示例输出

LiteRT GPU 基准测试的示例输出

使用 QAIRT 委托在 NPU 上进行基准测试

Qualcomm AI Runtime 委托使用 Qualcomm AI Runtime API 及其后端,在 Adreno GPU 和 Hexagon 张量处理器上加速模型。 要使用 QAIRT 外部委托,请确保设备上有以下库:
  • libQnnTFLiteDelegate.so — QNN 委托库
  • Qualcomm AI Engine Direct SDK 中的库
您可以通过外部委托选项自定义模型执行以使用特定后端:
  • libQnnGpu.so — 在 GPU 上运行 QNN 委托
  • libQnnHtp.so — 在 Hexagon 张量处理器上运行 QNN 委托
  • libQnnDsp.so — 在 DSP 上运行 QNN 委托
要使用 QNN 外部委托在 Hexagon 张量处理器上进行基准测试:
基准测试输出包含以下统计信息:
  • 委托创建状态
  • 使用委托时硬件上的平均推理时间
  • 模型执行的内存占用
benchmark_model 工具输出,显示委托状态、推理时间和内存占用

benchmark_model 工具统计信息