手机上Aidlux2.1运行模型广场的图像分类模型

0 阅读2分钟

手机设备型号:Xiaomi 12S

处理器为Snapdragon 8 Gen 1

Android 13

AidLux 2.1.0

本次运行了模型广场上的AlexNet图像分类(QNN2.31,INT8)


在应用里打开cloud_ip查看显示的ip和端口,同局域网下可通过显示的ip+端口在浏览器页面上进行访问。

1.jpg

AidLux2.1.0 功能方面Aidlite SDK 新增支持:

搭载Snapdragon芯片的移动设备,能够以aidlite-remote 运行模型广场上的部分模型;

以下在手机端运行AlexNet图像分类模型,

点击链接即可访问模型广场,当前模型广场含400多个主流模型可供下载:

2.png

选择AlexNet模型后,可选择设备型号和需要的数据进度,点击模型和代码进行下载,得到的压缩包可拖拽至网页端打开的文件系统里,(下图为示例,演示拖拽压缩包上传)

补.png

也可通过MMS工具(AidLux2.1.0应用中心内置的工具)对模型广场的模型进行拉取,例如:

首先进行登录操作,登陆后即可查看模型详情,在命令行终端输入:

 mms login -u <用户名> -p <密码>

3.png

用户名和密码可在官网进行注册

使用mms工具进行可拉取模型的查看

 mms list <模型名称> #例如AlexNet

输入命令下载模型:

 mms get -m AlexNet -p int8 -c qcs6490 -b qnn2.31
 # 下载 AlexNet模型,数据精度为 INT8, 针对 QCS6490 芯片平台优化,推理框架为 QNN2.31

4.png

执行过程提示拉取模型保存在/var/opt/modelfarm_models目录下,可在相应位置查看

5.png

将压缩包从 /var/opt/modelfarm_models 移动到 /home/aidlux 路径下解压,文件结构通常如下:

 /model_farm_alexnet_aidlite
 ​
 |__ models # 模型文件
 ​
 |__ python # 基于python的模型推理代码
 ​
 |__ cpp # 基于cpp的模型推理代码
 ​
 |__ README.md # 模型信息说明 & 相关软件依赖安装引导

可打开README文件进行查看,提供了调用模型的方法和步骤

6.png

需要注意的是,手机平台使用AidLite SDK(AI推理框架工具链)进行模型推理时,会因为手机无法调用 QNN DSP 加速,而初始化失败,导致模型无法成功运行,而Aidlux2.1.0可通过aidlite remote的方式进行QNN DSP加速,以python调用方式为例,需要对如图下的run_test.py文件进行修改:

7.png

编辑相关配置信息,修改aidlite的调用类型:

aidlite.ImplementType.TYPE_LOCALaidlite.ImplementType.TYPE_REMOTE

即将“LOCAL”改为“REMOTE”

8.png

9.png

保存后即可运行下列命令并查看结果:

 cd model_farm_alexnet_qcs6490_qnn2.31_int8_aidlite
 python3 python/run_test.py --target_model ./models/alexnet_w8a8.qnn231.ctx.bin --imgs ./python/tiger_cat.jpg --invoke_nums 10

Alexnet在手机上的运行结果:

10.png