模型量化(Model Quantization)

Tensorflow Model Quantization

Quantizing deep convolutional networks for efficient inference: A whitepaper

推理加速库:GEMMLOWP , Intel MKL-DNN , ARM CMSIS , Qualcomm SNPE , Nvidia TensorRT

降低模型复杂度的方法->降低权重和激活输出的精度要求-----int8,int16量化

1.优点

  • 无需重训练
  • 几乎不会有精度损失
  • 模型尺寸更小。fp32->int8,模型理论减小4倍。
  • 计算更快,大部分处理器8bit数据处理更快。
  • 功耗更低。
  • 更少的内存和缓存由于激活输出->更低精度的权重和激活输出有利于缓存更好的重用???

2.量化设计(Quantizer Design)

2.1 Uniform Affine Quantizer(映射量化)

尺度指定了量化的步长,浮点型0映射到零点。零点是一个整型数,确保0没有量化误差。

fp32[x_{min},x_{max}]\rightarrow[0,N_{levels}-1]

quantization operation,

 x_{int}=round(x/\Delta)+z                                    (1)
x_{q} = clamp(0,N_{levels}-1,x_{int})                           (2)

 尺度,z零点, round四舍五入,clamp取值范围0,N。

de-quantization operation,

 x_{float}=(x_{q}-z)/\Delta                                            (3)

2.2 Uniform symmetric quantizer(对称量化)-> 即z=0

quantization operation,

x_{int}=x/\Delta                                                            (4)

x_{q}=clamp(-N_{levels}/2,N_{levels}/2-1,x_{int})       (5) or  

x_{q}=clamp(0,N_{levels}-1,x_{int})                           (6)

de-quantization operation,

x_{float}=x_{q}\Delta                                                          (7)


Pytorch Model Quantization

int8 quantization operation,

 x_{abxmax} = max(abs(D))                                     (8)

position = foor(log_{2}x_{absmax})- n + 2              (9)

 scale=x^{n-1} * 2^{position} / x_{absmax}                         (10)

 x_{int} = clamp(-2^{n-1}, 2^{n-1}-1,x_{float}\cdot scale / 2^{position})     (11)

de-quantization operation,

x_{float} = x_{q}\cdot 2^{position} / scale                                  (12)

Deep Learning Toolbox Model Quantization Library是一个用于模型量化的工具库,在MATLAB Deep Learning Toolbox中使用。要下载Deep Learning Toolbox Model Quantization Library,你需要完成以下步骤: 1. 首先,确保你已经安装了MATLAB及其Deep Learning Toolbox。这个工具库是Deep Learning Toolbox的一个插件,所以你需要有Deep Learning Toolbox的许可证才能使用。 2. 打开MATLAB并登录到你的MathWorks账户。如果你还没有账户,你可以在MathWorks的官方网站上注册一个免费账户。 3. 登录后,在MATLAB的主界面上,点击"Add-Ons"选项卡。 4. 在"Add-Ons"选项卡中,点击"Get Add-Ons"按钮。这将打开一个新窗口,展示了可用于下载和安装的各种插件和工具库。 5. 在新窗口中,使用搜索功能,输入"Deep Learning Toolbox Model Quantization Library"进行搜索。 6. 在搜索结果中,找到"Deep Learning Toolbox Model Quantization Library"并点击它。 7. 在弹出的对话框中,你将看到有关该工具库的详细信息和安装要求。请仔细阅读这些信息以确保你的MATLAB版本和系统符合要求。 8. 点击"Install"按钮开始下载和安装Deep Learning Toolbox Model Quantization Library。 9. 下载和安装过程可能需要一些时间,取决于你的网络速度和计算机性能。请耐心等待直到安装完成。 10. 安装完成后,你将能够在MATLAB的环境中使用Deep Learning Toolbox Model Quantization Library来进行模型量化的相关任务。 这就是下载Deep Learning Toolbox Model Quantization Library的步骤。记得在下载和安装前确认你的MATLAB版本和系统符合要求,以确保正常使用该工具库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值