Skip to main content
LiteRT(前称 TensorFlow Lite)是 Google 面向设备端 AI 的高性能运行时。借助 AI Engine Direct 中包含的 LiteRT 委托(delegate),您只需一行代码,即可在 Dragonwing 设备的 NPU 上运行现有的量化 LiteRT 模型(Python 或 C++)。
.tflite 文件从哪里来?

量化模型

NPU 仅支持 uint8/int8 量化模型。不受支持的模型或不受支持的层会自动回退到 CPU 上运行。您可以使用量化感知训练训练后量化来量化您的 LiteRT 模型。请确保按照”全整数量化(Full integer quantization)“的步骤操作。
不想自己进行量化? 您可以从 Qualcomm AI Hub 下载一系列预量化模型,或使用 Edge Impulse 对新模型或现有模型进行量化。

在 NPU 上运行模型(Python)

要将模型卸载到 NPU,您只需加载 LiteRT 委托并将其传入解释器。例如:

在 NPU 上运行模型(C++)

要将模型卸载到 NPU,首先需要添加以下编译标志:
然后,实例化 LiteRT 委托并将其传递给 LiteRT 解释器:

Python 示例

前提条件
  • 应已刷写 Ubuntu OS
  • 具备相应权限的终端访问
  • 如果您之前尚未安装 PPA 软件包,请按照以下步骤安装:https://qualcomm-3.mintlify.io/devices/iq9075-evk/update-software/upgrade-ubuntu#4-upgrade-pre-built-packages
  • 在开发板上打开终端,或通过 SSH 会话连接到开发板,创建一个新的 venv,并安装 LiteRT 运行时和 Pillow:
  • 要准备开发环境,请安装以下软件包。这些软件包提供了 GTK 绑定、Python 开发工具以及编译和运行应用程序所需的构建工具等基本组件。

Vision Transformer

以下展示了如何使用 LiteRT 委托,在 CPU 和 NPU 上分别运行 Vision Transformer 模型(从 AI Hub 下载)。
1

创建推理脚本

创建 inference_vit.py 并添加以下代码:
2

在 CPU 上运行

3

在 NPU 上运行

该模型在 NPU 上运行速度显著更快 — 但模型输出的精度略有下降。您还可以看到,对于该模型,并非所有层都能在 NPU 上运行(“1382 nodes delegated out of 1633 nodes with 27 partitions”)。