7,672
社区成员
发帖
与我相关
我的任务
分享内容简介
本文尝试使用Aplux的AI Model Optimizer将yolox.tflite模型转化为QNN格式。
测试环境
windows:windows11 x64 professional
Putty:putty-64bit-0.83
QDL:2.7.0
OS on iq-8275-evk:
ubuntu-24.04-preinstalled-server-arm64+dragonwing-x13-20260710.img.xz
QLI.1.7-Ver.1.2-ubuntu-QCS8300-nhlos-bins.tar.gz
QNN_API_VERSION:2.35.0
QNN_SDK_BUILD_ID:v2.46.0.260424121129
Here we go
从高通AiHub上下载Yolox模型:
https://aihub.qualcomm.com/iot/models/yolox?searchTerm=yolox&chipsets=qualcomm-qcs8275


下载得到(yolox.dlc本文暂时不用,可以不下):

本文需要做的事情就是把下载得到的yolox-tflite-w8a8/yolox.tflite转化为能够在IQ8275-EVK上运行的QNN格式。
打开Aplux的模型广场,选择AIMO:

在“模型优化”选项卡下面上传刚才下载的“yolox.tflite”:

选择QNN版本,由于这里没有看到我们开发板上的版本号,先随便选一个较低版本的试一下:

设置模型参数:

注意上面参数输出的名称顺序需要满足qtimlpostprocess的期望顺序(这里就是默认顺序),打开“量化”开关,设置精度为INT8,然后点击提交:
然后是等待完成:

完成后点击下载:

得到我们需要的文件:

点击编辑,可以修改参数并重新生成:

比如改QNN版本为2.40:

同样等待转化完成即可。
细心的你可能会发现,转换得到的bin文件名称为“yolox_qcs8275_w8a8.qnn240.ctx.bin.aidem”,那是因为加密了,所以默认只能使用aplux_aimo SDK,具体可以通过Python指令来安装aplux_aimo SDK:
pip install aplux_aimo -i https://mirrors.aidlux.com/simple/
这部分内容将在后续文档中进一步说明。如果要直接使用高通的QNN SDK来调用这个模型,则需要解密才行,具体解密方法后续再说。