一、准备工作(下载模型)
硬件准备:搭载AidLux的QCS6490设备
模型准备:
在浏览器上访问端侧AI门户 端侧AI生态门户 找到模型广场
在页面侧栏可看到许多筛选标签,选择芯片平台选项下的 Qualcomm QCS6490
筛选后可任意选择当前符合条件的模型,这里选用第一个模型(AlexNet-图像分类)作为演示示例
确认设备信息后,点击右侧模型文件&测试代码下载模型文件和推理代码包
(注:下载模型需先注册并登录 AidLux 开发者平台账号)
点击后开始下载
下载完成后可查看文件资源管理器,可看到文件结构是 models(存放模型的文件)+python(测试代码文件)
点进 models 可见示例模型(AlexNet 卷积神经网络架构)
点进 python 可见配置文件、测试代码和两张示例图
点进 Readme,可见模型信息、安装 AidLite-SDK 教程和示例运行指令
(Model Farm 所提供的模型性能基准测试以及示例代码皆基于阿加犀 AidLite SDK 实现)
二、在高通跃龙™ QCS6490上运行模型示例
将准备的一块 FAIOT FV01 开发板(搭载高通跃龙™ QCS6490 平台)接上 type-C,另一端连接电脑,cmd 打开命令行界面,通过 adb 命令查询设备并查找其 IP:
(注:需含 adb 相应 usb 驱动,可自行下载)
adb devices
#查看是否连上设备
adb shell
#进入设备命令行环境
ifconfig
#ifconfig 查网络接口信息或用 ip a查看
找到 ip 地址(示例:192.168.110.111)
(同局域网下)通过浏览器访问设备的 IP 地址来访问设备上的相关服务
输入密码:aidlux
打开文件浏览器
点进 SD Card,将之前下载的模型文件直接拖入文件浏览器中
接下来打开终端
依次输入以下命令:
cd /sdcard
cp _api_v1_files_model_files_20250409032956_model_farm_alexnet_qcs6490_qnn2.31_int8_aidlite.zip /home/aidlux
cd /home/aidlux
unzip _api_v1_files_model_files_20250409032956_model_farm_alexnet_qcs6490_qnn2.31_int8_aidlite.zip
接着下载 Aidlite-SDK组件,依次输入以下命令:
(注:可在解压后的文件里查看 readme 中的步骤)
# install aidlite sdk c++ api
sudo aid-pkg -i aidlite-sdk
# install aidlite sdk python api
python3 -m pip install pyaidlite -i https://mirrors.aidlux.com --trusted-host mirrors.aidlux.com
# Install the appropriate version of the aidlite sdk
sudo aid-pkg update
sudo aid-pkg install aidlite-sdk
# eg: Install QNN 2.31 Aidlite: sudo aid-pkg install aidlite-qnn231
sudo aid-pkg install aidlite-{QNN VERSION}
(注:sudo 密码是 aidlux)
确认装好的 AidLite SDK:
# aidlite sdk c++ check
python3 -c "import aidlite ; print(aidlite.get_library_version())"
# aidlite sdk python check
python3 -c "import aidlite ; print(aidlite.get_py_library_version())"
然后打开应用中心,下载 Aidlite-QNN231 提示需输入密码也是:aidlux
最后一步,打开终端,按照 readme 中的Run Demo步骤:
cd /home/aidlux/model_farm_alexnet_qcs6490_qnn2.31_int8_aidlite
python3 python/run_test.py --target_model ./models/alexnet_w8a8.qnn231.ctx.bin.aidem --imgs ./python/tiger_cat.jpg --invoke_nums 10
可以看到成功调用模型并完成推理,给出了详细的推理时间和测试用图的预测结果以达到图像分类的目的
(演示示例的主要功能是进行模型推理和输出推理时间统计信息与预测结果,未包含创建可视化界面)
