PyTorch 深度学习模型压缩开源库(含量化、剪枝、轻量化结构、BN融合)

2019 年 12 月 27 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~



本文为开发者666dzy666投稿,介绍了他最近开源的PyTorch模型压缩库,该库开源不到20天已经收获 265 颗星,是最近值得关注的模型压缩开源库。


开源地址


https://github.com/666DZY666/model-compression



背景


“目前在深度学习领域分类两个派别,一派为学院派,研究强大、复杂的模型网络和实验方法,为了追求更高的性能;另一派为工程派,旨在将算法更稳定、高效的落地在硬件平台上,效率是其追求的目标。


复杂的模型固然具有更好的性能,但是高额的存储空间、计算资源消耗是使其难以有效的应用在各硬件平台上的重要原因。


所以,卷积神经网络日益增长的深度和尺寸为深度学习在移动端的部署带来了巨大的挑战,深度学习模型压缩与加速成为了学术界和工业界都重点关注的研究领域之一。”



项目简介


基于pytorch实现模型压缩
  1. 量化:8/4/2 bits(dorefa)、三值/二值(twn/bnn/xnor-net);

  2. 剪枝:正常、规整、针对分组卷积结构的通道剪枝;

  3. 分组卷积结构;

  4. 针对特征A二值的BN融合




目前提供


  1. 普通卷积和分组卷积结构

  2. 权重W和特征A的训练中量化,W(32/8/4/2bits,三/二值) 和A(32/8/4/2bits,三/二值)任意组合

  3. 针对三/二值的一些tricks:W二值/三值缩放因子,W/grad(ste、saturate_ste、soft_ste)截断,W三值_gap(防止参数更新抖动),W/A二值时BN_momentum(<0.9),A二值时采用B-A-C-P可比C-B-A-P获得更高acc

  4. 多种剪枝方式:正常剪枝、规整剪枝(比如可剪枝为剩余filter个数为16的倍数)、针对分组卷积结构的剪枝(剪枝后仍保证分组卷积结构)

  5. batch normalization的融合及融合前后model对比测试:普通融合(BN层参数 —> conv的权重w和偏置b)、针对特征A二值的融合(BN层参数 —> conv的偏置b)



模型压缩数据结果对比



后续计划


  1. Nvidia、Google的INT8量化方案

  2. 对常用检测模型做压缩

  3. 部署(1、针对4bits/三值/二值等的量化卷积;2、终端DL框架(如MNN,NCNN,TensorRT等))



参考文献
1. BinarizedNeuralNetworks: TrainingNeuralNetworkswithWeightsand ActivationsConstrainedto +1 or−1
(https://arxiv.org/abs/1602.02830)
2. XNOR-Net:ImageNetClassificationUsingBinary ConvolutionalNeuralNetworks
(https://arxiv.org/abs/1603.05279)
3. AN EMPIRICAL STUDY OF BINARY NEURAL NETWORKS’ OPTIMISATION
(https://openreview.net/forum?id=rJfUCoR5KX)
4. A Review of Binarized Neural Networks
(https://www.semanticscholar.org/paper/A-Review-of-Binarized-Neural-Networks-Simons-Lee/0332fdf00d7ff988c5b66c47afd49431eafa6cd1)
5. Ternary weight networks
(https://arxiv.org/abs/1605.04711)
6. DOREFA-NET: TRAINING LOW BITWIDTH CONVOLUTIONAL NEURAL NETWORKS WITH LOW BITWIDTH GRADIENTS
(https://arxiv.org/abs/1606.06160)
7. Learning Efficient Convolutional Networks through Network Slimming
(https://arxiv.org/abs/1708.06519)
8. RETHINKING THE VALUE OF NETWORK PRUNING
(https://arxiv.org/abs/1810.05270)
9. Convolutional Networks for Fast, Energy-Efficient Neuromorphic Computing
(https://arxiv.org/abs/1603.08270)


项目地址(~欢迎交流、star~):
https://github.com/666DZY666/model-compression




-End-





*延伸阅读





CV细分方向交流群


添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割、OCR、姿态估计等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流一起来让思想之光照的更远吧~



△长按添加极市小助手


△长按关注极市平台


觉得有用麻烦给个在看啦~  

登录查看更多
24

相关内容

模型压缩,多指AI领域,多学习生成的模型进行压缩,简化,同时又要保证一定的可靠性,便于模型在低端设备上部署。
专知会员服务
44+阅读 · 2020年3月6日
深度神经网络模型压缩与加速综述
专知会员服务
128+阅读 · 2019年10月12日
过参数化、剪枝和网络结构搜索
极市平台
17+阅读 · 2019年11月24日
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
Deep Compression/Acceleration:模型压缩加速论文汇总
极市平台
14+阅读 · 2019年5月15日
CNN模型压缩与加速算法综述
微信AI
6+阅读 · 2017年10月11日
简单聊聊压缩网络
计算机视觉战队
3+阅读 · 2017年10月4日
干货|CNN 模型压缩与加速算法综述
全球人工智能
9+阅读 · 2017年8月26日
CNN 模型压缩与加速算法综述
机器学习研究会
16+阅读 · 2017年8月25日
Arxiv
6+阅读 · 2019年4月8日
Arxiv
5+阅读 · 2019年2月28日
VIP会员
相关资讯
过参数化、剪枝和网络结构搜索
极市平台
17+阅读 · 2019年11月24日
网络宽度对深度学习模型性能有什么影响?
极市平台
15+阅读 · 2019年7月7日
Deep Compression/Acceleration:模型压缩加速论文汇总
极市平台
14+阅读 · 2019年5月15日
CNN模型压缩与加速算法综述
微信AI
6+阅读 · 2017年10月11日
简单聊聊压缩网络
计算机视觉战队
3+阅读 · 2017年10月4日
干货|CNN 模型压缩与加速算法综述
全球人工智能
9+阅读 · 2017年8月26日
CNN 模型压缩与加速算法综述
机器学习研究会
16+阅读 · 2017年8月25日
Top
微信扫码咨询专知VIP会员