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

量化模型

NPU 仅支持 uint8/int8 量化模型。不受支持的模型或不受支持的层会被自动移回 CPU 上执行。您可以使用量化感知训练或训练后量化来量化您的 LiteRT 模型。请确保按照”全整数量化”的步骤操作。
不想自己进行量化? 您可以从 Qualcomm AI Hub 下载多种预量化模型,或使用 Edge Impulse 量化新模型或现有模型。

在 NPU 上运行模型(Python)

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

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

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

Python 示例

前提条件
  • 应已刷入 Ubuntu 操作系统
  • 具有适当权限的终端访问权限
  • 如果您之前没有安装过 PPA 软件包,请运行以下步骤进行安装:upgrade-pre-built-packages
  • 在开发板上打开终端,或通过 SSH 会话连接到开发板,创建一个新的 venv,并安装 LiteRT 运行时和 Pillow:
  • 为准备开发环境,请安装以下软件包。它们提供了 GTK 绑定、Python 开发工具以及有效编译和运行应用所需的构建工具等基本组件。

Vision Transformers

下面演示如何使用 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”)。