基于高通8155的SNPE-PTQ量化方法介绍

一、基于高通8155的SNPE-PTQ量化与打包

量化位置与工作目录,snpe1.511.43环境结构相同,下面以1.51为例介绍:

  • SNPE1.51量化:172.20.84.162:/media/share_31.106
  • SNPE1.43量化:172.20.65.2:/media/share_31.106

脚本化执行量化步骤和分步手动执行效果相同,但大大简化了步骤。若模型op全部支持,对于人脸相关模型,量化、打包最多只需执行三步、两个命令:

  • sh 4.run_only_one_model.sh [一些输入参数]
    • 将会执行模型fuse,op裁剪,异构引擎打包,引擎资源打包以及量化脚本生成等步骤;
    • 若执行命令前尚未量化,将仅打包cpu资源,命令完成后需再执行下面两步;否则将打包全部cpu和量化资源,完成
    • 输入参数参考:5.snpe1.51_1003.sh
      • arg1:onnx路径
      • arg2:此模型在model/下的文件夹名称,需保持对应,不可随意修改
      • arg3:需裁减掉以避免量化的op name, 一般需裁减掉模型最后的Concat结点以降低量化误差
      • arg4:模型资源在引擎中的主名称
      • arg5:模型的input shape

  • 若尚未执行量化,执行上步命令时终端将输出黄色警告信息提示,则前往量化服务器的quant_shell目录下执行量化操作,如`sh run_FACE_DETECT_quant.sh`, 脚本在上步生成,无需修改直接运行即可
  • 量化完成后再次运行`sh 4.run_only_one_model.sh`进行打包,打包产物在model/[model_name]

对于手势模型,每版模型均需重新生成量化数据,因此相比人脸相关模型,需增加一步数据生成操作,最多需执行四步、三个命令:

  • sh 4.run_GR_model.sh [一些输入参数]
    • 脚本内执行的步骤类似`4.run_only_one_model.sh`, 另增加了生成量化数据生成脚本的命令;
    • 若执行命令前尚未量化,将仅打包cpu资源,命令完成后需再执行下面三步;否则将打包全部cpu和量化资源,完成
    • 输入参数参考:5.snpe1.51_1003.sh
      • arg1:onnx路径
      • arg2:量化图像数据路径
      • arg3:此模型在model/下的文件夹名称,如GR或其他自定义名称均可
      • arg4:量化时的优化项,如"--optimizations bc""--optimizations bc --optimizations cle",经验表明仅bc时误差较小
      • arg5:模型资源在引擎中的主名称
      • arg6:资源版本号,如"201003", 可根据引擎版本、模型版本而定

  • 若尚未执行量化,执行上步命令时终端将输出黄色警告信息提示,则切换到31.106quant_shell下执行`sh run_GR_get_quant_data.sh`以生成新的量化数据
  • 前往量化服务器的quant_shell目录下执行量化操作,`sh run_GR_quant.sh`, 脚本在第一步生成,无需修改直接运行即可
  • 量化完成后再次运行`sh 4.run_GR_model.sh`进行打包,打包产物在model/[model_name]

二、基于高通8155的SNPE-PTQ量化模型测试之车机使用方法

量化、打包完成后的测试需要在车机进行,目前有两个车机可用:

  • 威马车机
  • 蔚来车机

车机环境都不稳定,测试时应优先使用威马车机与业务方保持一致(已测试两个车机不会造成效果差异)。

车机入口

需要先进入远程桌面以连接车机。

win10-运行-mstsc, 输入

  • 计算机:192.168.122.116
  • 用户名
  • 密码

登录(远程桌面的系统空间不足,已无法创建新用户),连接进入后通常在D:/[用户名]下工作。

可根据下面的方法连接、使用对应车机。

威马车机连接、传输文件

蔚来车机连接、传输文件

配置车机环境

车机测试通常是测试量化模型,需要配置dsp环境,假设dspsnpe、异构引擎等相关库均在当前目录,则:

dsp, snpe库为:

三、基于高通8155车机的SNPE-PTQ量化模型效率效果测试方法

效果测试原理:snpe-net-run分别推理浮点模型、量化模型,计算MAE和余弦相似度评估效果;

效率测试原理:异构引擎推理浮点模型、量化模型,循环200次计算平均前向时间。

已完成脚本编写,只需按步骤执行脚本即可。

1、量化、打包后在31.106:./model_effectTest/下执行脚本取出待测试模型的dlc和异构引擎资源:

python3 get_model_dlc.py

  • 参考脚本的data_dir0变量配置脚本的data_dir变量以设置需要取出哪些模型,
  • 脚本会将模型全部取出到当前目录下的_model_snpeDLC_RES下,同时生成测试脚本到_model_snpeDLC_RES/_run_all_test.sh, 并压缩为_model_snpeDLC_RES_syyan2.tar.gz

2、压缩文件传输到车机,按测试脚本运行并得到输出结果的_snpe_out_data_syyan2.tar.gz文件,传输回31.106:./model_effectTest/下并解压得到_snpe_out_data文件夹

​​​​​​​3、运行脚本以计算MAE和余弦相似度指标

sh run_res_Effect_Efficiency.sh

  • 配置get_res_Effect_Efficiency.py中的data_dir变量以设置需要计算哪些模型的效率效果指标
  • 脚本将计算并记录结果到文件_log_all.log, 同时将提取效果最佳的资源到当前目录下的_res_best

​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chauvin912

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值