Tengine 是 OPEN AI LAB 一款轻量级神经网络推理引擎,它针对 Arm 嵌入式平台进行了专门优化,对 Android、Linux 系统都提供了很好的支持。
而且更加难能可贵的是 Tengine 并不依赖于专用 AI 芯片(即 Tengine 可以利用 GPU、NPU 这些具有专门 AI 加速功能的模块进行 AI 运算,也可以利用通用的 CPU 进行 AI 运算),很多 Arm 平台都可以通过 Tengine 框架对算力进行深度挖掘,从而高效的运行一些 AI 应用。
本文就是想描述如何在OKMX8MM-C这一 Arm64 平台上搭建 Tengine AI 推理框架,并运行图像识别相关应用。首先在OKMX8MM-C上面移植了基于 Armbian 的 Debian 10 系统,运行的 u-boot 和 linux kernel 都是mainline的。
编译 Tengine
OPEN AI LAB 在 Github 上提供了开源的 Tengine 版本,并提供了比较详细的参考文档,所以可以直接下载源码,根据文档进行编译。
得益于 i.MX8MMini 强大的性能,我们可以直接在 i.MX8MMini 上下载代码,进行编译,免去交叉编译的诸多不便。
5. 下载 model 文件
运行这些 AI 应用的时候,需要加载对应的 model 文件,这些文件可以从 OPEN AI LAB 提供的网盘里下载: https://pan.baidu.com/s/1Ar9334MPeIV1eq4pM1eI-Q , 提取码为 hhgc 。
下载完后需要把这些 model 文件放在 Tengine 源码根目录下的 models 文件夹,所有的 model 文件加在一起比较大,我只上传了后面测试需要用到的部分: