Skip to content

AIMO 一键转换 ​

介绍 ​

AIMO 一键转换功能,通过上传 PyTorch 模型,完成少量必要配置,即可自动完成模型转换。搭配 ModelFarm 推理代码,快速实现模型从转换到部署的开箱即用。

使用方法 ​

以 YOLOv5s 模型 W8A8 精度为例。

说明:W8A8 指 8 位权重 + 8 位激活的量化精度。在 MMS 中该精度对应 INT8(mms list 输出的精度选项为 FP16 / INT8 / W8A16,没有单独的 W8A8 条目),本文示例统一按 W8A8(INT8)描述。

进入一键转换模块 ​

  • AIMO 账号可正常登录:https://aimo.aidlux.com/#/login
  • 登录后,在左侧任务栏点击“一键转换”。
  • 在搜索框搜索 YOLOv5s,然后点击模型进入模型转换页。
  • 待转换的模型已在平台模型库中(本示例为平台自带的 YOLOv5s,也可以上传自己的 .pt 模型)。
  • 犀牛派 X1 板卡已上电,与 PC 处于同一局域网,浏览器可访问板卡的 8000 端口。
  • 板卡可联网,终端中可正常执行 mms 命令。

配置必要参数 ​

  • 使用内置 .pt 模型或上传自己微调的模型。
  • 核对转换参数:目标设备选择 QCS8550,量化精度选择 W8A8(INT8),版本选择 QNN 2.40。
  • 在描述输入框输入任务描述,如:YOLOv5s_8550_w8a8。
  • 点击提交,模型进入转换;转换过程中可点击“处理日志”查看日志。

AIMO 一键转换任务执行页面(模型转换中)

模型转换完成后,在任务列表下载对应的模型。

推理验证 ​

在犀牛派 X1 上部署并推理验证。

获取对应模型推理代码 ​

以犀牛派 X1 板卡作为测试设备:板卡上电后查看 IP,在浏览器访问 IP:8000 进入 AidLux 桌面。打开终端,使用 mms login 登录。执行 mms list yolov5s 查看可拉取的模型包。

mms list yolov5s 查看可拉取的模型包

犀牛派 X1 是 QCS8550,拉取对应的模型包,终端执行:

bash
mms get -m YOLOv5s -p INT8 -c qcs8550 -b QNN2.40 -d /home/aidlux/test

mms get 拉取 QCS8550 的模型包

模型配置 ​

进入 test 目录解压:

bash
unzip YOLOv5s_qcs8550_w8a8.zip

解压模型包

在本地解压 AIMO 转换得到的模型,把 yolov5s_qcs8550_w8a8.qnn240.ctx.bin.aidem 放入板卡的 /home/aidlux/test/models/QCS8550/W8A8/ 路径下。

在终端进入 /home/aidlux/test/code 路径,查看 README.md:

bash
cat README.md

提示:README 中给出的是 FP16 / QNN 2.36 的示例命令,且示例中的目录结构与实际解压结果不同,请以本文命令为准。

查看 README.md

执行命令进行推理验证:

bash
python3 python/run_test.py --target_model ../models/QCS8550/W8A8/yolov5s_qcs8550_w8a8.qnn240.ctx.bin.aidem --imgs ./python/bus.jpg --invoke_nums 10

QNN 推理结果(推理 10 次的性能指标与检测结果)

预期结果:QNN 推理 10 次,平均推理耗时约 4.11 ms(最大 8.49 ms、最小 3.51 ms、耗时方差 2.16);模型对 bus.jpg 检测到 5 个目标,结果图保存在 code/python/result.jpg。