[TOC]

概述

文章参考:https://ecloud.baidu.com/index.html#/team/572907534

文章参考:https://ecloud.baidu.com/index.html#/team/572907534

会议讨论

  1. x_scale y_scale 其实高通没有回答

Weight (量化反量化)

Activation

激活层

两种量化损失:

位置 Weight量化(8比特量化)

节点输出 Activation

余弦相似值

​ 最好是

怎么去锁定Activation。

CPU FP32

SQNR是什么公式??

量化手段:

量化和反量化

确认是什么损失导致:

perchannel

如果是Activatiion导致。设置成16bit.

训练更稳定。

1.建议去掉BN层

  1. 中段加速器,对weight的要求比较高。

对齐32通道 nach

10通道的

  1. image-20220422173839104

  2. fill成一个的卷积

HMX的高速硬件算了。不管拆开还是不拆开

问题:

怎么去做参考:

1.

QNN 模型量化的转换问题

去掉SE block

1.算法模型结构中的SE block 算法结构对QNN量化不友好,有大量的精度损失;

image-20220429140531100

类似于图中的模型结构:GlobalAveragePool+Conv(1x1) +Relu+Conv(1x1)+HardSigmoid。这样的结构频繁输出1x1的卷积。对QNN的量化不是很友好。推动算法去掉这样的卷积结构。

In all, this structure causes the whole accuracy loss. I just have one idea but may not useful.

1 Avoid generating (1,1,1,x) output, especially for conv.

I think the main solution sto avoid the loss is do not design such structure, you may try other sstructure to implement “Channel Attention” function.

Weight 接近于0

高通精度定义为什么要设置0.01

问题主要出现在Attention

BN算子

先算卷积 再算BN。

https://www.cnblogs.com/jermmyhsu/p/13508382.html

裁剪

裁剪到32 或者 64

weight的为0

self-attention

Max- Min的参数

V1.12的版本在

V1.12的ES2的