前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyTorch 深度学习模型压缩开源库(含量化、剪枝、轻量化结构、BN融合)

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

作者头像
CV君
发布2019-12-27 15:59:23
4.6K0
发布2019-12-27 15:59:23
举报
文章被收录于专栏:我爱计算机视觉

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

开源地址:

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等))

项目地址(~欢迎交流、star~):

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档