SNPE调试记录

SNPE调试记录

模型结构

  1. SNPE支持的层较少,支持的层限制也很多,所以很多复杂的结构在不做修改的情况下基本不支持,比如QKV, non-local(Matmul is only supported when used to interpret an FC layer. The second input must be a set of weights.),具体可以参考 SNPE-OP指南
  2. 还有一个坑,BN如果不能合并CONV而是单独存在的话(如下图),QUANT后的精度差异会比较大。猜测是SNPE只对Conv和FC量化,单独存在BN是不会量化的,这就会导致送到BN的act因为量化导致mean和std都出现了较大的偏移,而未量化的BN又放大了这些便宜,从而导致精度较大。
  3. 还有些玄学的,比如同样一个模型,某些输入尺寸可以正常量化,某些又不行(遵循32,64的倍数);
     BN单独存在的情况

模型量化

  1. 量化样本的生成一定要和实际部署的一致,比如均值,方差(OPENCV是BGR,PIL是RGB),严谨一点,次序尽量别出错,虽然出错了问题也不大;
  2. 标定样本不需要太多,5000张和500张的差异不大,多了浪费时间;
  3. –optimizations cle 要求很多:
    3.1 仅支持单路结构 Conv®->Batchnorm®->activation(o)->Conv®->Batchnorm®->activation(o)
    Conv®->Batchnorm®->activation(o)->DepthwiseConv®->Batchnorm®->activation(o)->Conv®->Batchnorm®->activation(o)
    3.2 不支持RELU6
    3.3 为了最大保持精度, 转换DLC前最好保留BN;
  4. 为了最大化的提升8bit后模型的精度,建议结合AIMET;
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
SNPE Docker是一个包含Snapdragon Neural Processing Engine SDK、Caffe和ADB的Docker镜像。你可以使用以下步骤来构建和运行SNPE Docker镜像: **步骤1:构建Docker镜像** 使用以下命令构建Docker镜像: ``` docker build -t snpe . ``` **步骤2:运行Docker容器** 使用以下命令来运行Docker容器: ``` docker run -it --privileged -v ~/Git/snpe-1.13.0:/root/snpe -v... ``` 在这个命令中,你需要根据你自己的需求来设置相关的选项和挂载卷。 **步骤3:安装SNPE环境** 根据需求,你可以使用Docker镜像中的SNPE环境。根据你的需求,你可以通过以下步骤来安装SNPE环境: 1. 登录到Docker仓库: ``` docker login cr.d.xiaomi.net -u org_46522 -p 46370020336295373ad3815abd6db118 ``` 2. 拉取SNPE镜像: ``` docker pull cr.d.xiaomi.net/ailab-vision-doc/snpe_dev:18.04 ``` 3. 开启一个后台Docker容器: ``` docker run -it --privileged -d --name snpe-1.50 -v /dev/bus/usb:/dev/bus/usb -v /home/:/home/ --net=host cr.d.xiaomi.net/ailab-vision-doc/snpe_dev:18.04 ``` **步骤4:使用SNPE** 在启动的容器中,你可以使用以下命令来使用SNPE: 1. 启动一个容器: ``` # 查看之前已经启动的容器 docker container ls -a # 61744239ab70是容器的ID docker container start 61744239ab70 # 开启一个Docker终端 docker exec -it 61744239ab7 /bin/bash ``` 2. 如果在Docker镜像中没有对应版本的SNPE目录,你可以从SNPE官网下载对应版本的SNPE,并将其拷贝到`/root/snpe/`目录中。 3. 使用SNPE进行模型转换和量化。具体的步骤可以参考官方文档或者SNPE的使用指南。 希望以上信息能够帮助到你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@daviiid

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

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

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

打赏作者

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

抵扣说明:

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

余额充值