Skip to content

PaddleSlim is an open-source library for deep model compression and architecture search.

License

Notifications You must be signed in to change notification settings

hong19860320/PaddleSlim

 
 

Folders and files

NameName
Last commit message
Last commit date
Oct 28, 2019
Nov 17, 2020
Oct 27, 2020
Nov 16, 2020
Nov 9, 2020
Dec 16, 2019
Sep 16, 2020
Dec 16, 2019
Jul 14, 2020
May 17, 2020
Nov 3, 2020
Nov 3, 2020
Nov 9, 2020
Dec 31, 2019

Repository files navigation

PaddleSlim

中文 | English

Documentation Status Documentation Status License

PaddleSlim是一个模型压缩工具库,包含模型剪裁、定点量化、知识蒸馏、超参搜索和模型结构搜索等一系列模型压缩策略。

对于业务用户,PaddleSlim提供完整的模型压缩解决方案,可用于图像分类、检测、分割等各种类型的视觉场景。 同时也在持续探索NLP领域模型的压缩方案。另外,PaddleSlim提供且在不断完善各种压缩策略在经典开源任务的benchmark, 以便业务用户参考。

对于模型压缩算法研究者或开发者,PaddleSlim提供各种压缩策略的底层辅助接口,方便用户复现、调研和使用最新论文方法。 PaddleSlim会从底层能力、技术咨询合作和业务场景等角度支持开发者进行模型压缩策略相关的创新工作。

功能

功能模块 算法 教程与文档
剪裁
量化
蒸馏
模型结构搜索(NAS)

安装

pip install paddleslim -i https://pypi.tuna.tsinghua.edu.cn/simple

量化和Paddle版本的对应关系

如果在ARM和GPU上预测,每个版本都可以,如果在CPU上预测,请选择Paddle 2.0对应的PaddleSlim 1.2.0版本

  • Paddle 1.7 系列版本,需要安装PaddleSlim 1.0.1版本
pip install paddleslim==1.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • Paddle 1.8 系列版本,需要安装PaddleSlim 1.1.1版本
pip install paddleslim==1.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • Paddle 2.0 系列版本,需要安装PaddleSlim 1.2.0版本
pip install paddleslim==1.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

使用

部分压缩策略效果

分类模型

数据: ImageNet2012; 模型: MobileNetV1;

压缩策略 精度收益(baseline: 70.91%) 模型大小(baseline: 17.0M)
知识蒸馏(ResNet50) +1.06% -
知识蒸馏(ResNet50) + int8量化训练 +1.10% -71.76%
剪裁(FLOPs-50%) + int8量化训练 -1.71% -86.47%

图像检测模型

数据:Pascal VOC;模型:MobileNet-V1-YOLOv3

压缩方法 mAP(baseline: 76.2%) 模型大小(baseline: 94MB)
知识蒸馏(ResNet34-YOLOv3) +2.8% -
剪裁 FLOPs -52.88% +1.4% -67.76%
知识蒸馏(ResNet34-YOLOv3)+剪裁(FLOPs-69.57%) +2.6% -67.00%

数据:COCO;模型:MobileNet-V1-YOLOv3

压缩方法 mAP(baseline: 29.3%) 模型大小
知识蒸馏(ResNet34-YOLOv3) +2.1% -
知识蒸馏(ResNet34-YOLOv3)+剪裁(FLOPs-67.56%) -0.3% -66.90%

搜索

数据:ImageNet2012; 模型:MobileNetV2

硬件环境 推理耗时 Top1准确率(baseline:71.90%)
RK3288 -23% +0.07%
Android cellphone -20% +0.16%
iPhone 6s -17% +0.32%

许可证书

本项目的发布受Apache 2.0 license许可认证。

如何贡献代码

我们非常欢迎你可以为PaddleSlim提供代码,也十分感谢你的反馈。

About

PaddleSlim is an open-source library for deep model compression and architecture search.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%