PaddleSlim#
PaddleSlim是PaddlePaddle框架的一个子模块,主要用于压缩图像领域模型。在PaddleSlim中,不仅实现了目前主流的网络剪枝、量化、蒸馏三种压缩策略,还实现了超参数搜索和小模型网络结构搜索功能。在后续版本中,会添加更多的压缩策略,以及完善对NLP领域模型的支持。
功能#
- 模型剪裁
- 支持通道均匀模型剪裁(uniform pruning)
- 基于敏感度的模型剪裁
-
基于进化算法的自动模型剪裁三种方式
-
量化训练
- 在线量化训练(training aware)
- 离线量化(post training)
-
支持对权重全局量化和Channel-Wise量化
-
蒸馏
-
轻量神经网络结构自动搜索(Light-NAS)
- 支持基于进化算法的轻量神经网络结构自动搜索(Light-NAS)
- 支持 FLOPS / 硬件延时约束
- 支持多平台模型延时评估
安装#
安装PaddleSlim前,请确认已正确安装Paddle1.6版本或更新版本。Paddle安装请参考:Paddle安装教程。
- 安装develop版本
git clone https://github.com/PaddlePaddle/PaddleSlim.git cd PaddleSlim python setup.py install
- 安装官方发布的最新版本
pip install paddleslim -i https://pypi.org/simple
- 安装历史版本
请点击pypi.org查看可安装历史版本。
使用#
- API文档:API使用介绍,包括蒸馏、剪裁、量化和模型结构搜索。
- 示例:基于mnist和cifar10等简单分类任务的模型压缩示例,您可以通过该部分快速体验和了解PaddleSlim的功能。
- 实践教程:经典模型的分析和压缩实验教程。
- 模型库:经过压缩的分类、检测、语义分割模型,包括权重文件、网络结构文件和性能数据。
- Paddle检测库:介绍如何在检测库中使用PaddleSlim。
- Paddle分割库:介绍如何在分割库中使用PaddleSlim。
- PaddleLite:介绍如何使用预测库PaddleLite部署PaddleSlim产出的模型。