0%

模型剪枝工具推荐

剪枝一直都是一个十分必要的工作。

谷歌:
Link:TensorFlow Model Optimization Toolkit

百度:
Link:PaddleSlim

腾讯:
Link:PocketFlow

Intel(基于Pytorch):
Link:distiller

微软:
Link:NNI

Pytorch社区:
Link:model-compression

Keras社区:
Link:keras-surgeon

模型剪枝相关论文实现:
Link: Learning Efficient Convolutional Networks Through Network Slimming

Link:ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression


Deep Compression是一个模型量化和压缩框架。
Deep Compression综合应用了剪枝、量化、编码三个步骤来进行模型压缩,是2016 ICLR最佳论文。在不影响精度的前提下,把500M的VGG压缩到了11M。

(1) 网络剪枝

即移除不重要的连接,包括3个步骤,分别是普通网络训练,删除权重小于一定阈值的连接得到稀疏网络,对稀疏网络再训练,这是一个反复迭代的过程。这一步对于AlexNet和VGG-16模型,分别将参数降低为原来的1/9和1/13。

(2) 权重量化

权值量化是把网络的连接权值从高精度转化成低精度的操作过程,例如将32位浮点数float32转化成8位定点数int8或二值化为1bit,转换后的模型准确率等指标与原来相近,但模型大小变小,运行速度加快。一般操作是先训练模型,再进行量化,测试时使用量化后的模型。

(3) 霍夫曼编码

霍夫曼编码是一种成熟的编码技巧,与CNN无关,它有效地利用了权重的有偏分布,可以进一步减少需要存储的参数体积。

串行的合并: 就是将Pooling、LRN,BN等网络层与相邻近的Conv层进行合并

分支合并

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道