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

手机设备型号:Xiaomi 12S

处理器为Snapdragon 8 Gen 1

Android 13

AidLux 2.1.0

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


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

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

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

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

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

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

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

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

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

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

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

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

输入命令下载模型:

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

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

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

/model_farm_alexnet_aidlite

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

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

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

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

aidlite.ImplementType.TYPE_LOCALaidlite.ImplementType.TYPE_REMOTE

即将“LOCAL”改为“REMOTE”

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

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在手机上的运行结果:

1 个赞