diff --git a/README.md b/README.md index 45bf29f5e58d4d5cf25c1c2b599c850abb0cbb17..65c7b70ce1a284c6f0b954ed4d4a6c7d61d944cf 100755 --- a/README.md +++ b/README.md @@ -6,286 +6,160 @@ [](https://paddleslim.readthedocs.io/zh_CN/latest/) [](LICENSE) -PaddleSlim是一个模型压缩工具库,包å«æ¨¡åž‹å‰ªè£ã€å®šç‚¹é‡åŒ–ã€çŸ¥è¯†è’¸é¦ã€è¶…å‚æœç´¢å’Œæ¨¡åž‹ç»“æž„æœç´¢ç‰ä¸€ç³»åˆ—模型压缩ç–略。 - -对于业务用户,PaddleSlimæ供完整的模型压缩解决方案,å¯ç”¨äºŽå›¾åƒåˆ†ç±»ã€æ£€æµ‹ã€åˆ†å‰²ç‰å„ç§ç±»åž‹çš„视觉场景。 -åŒæ—¶ä¹Ÿåœ¨æŒç»æŽ¢ç´¢NLP领域模型的压缩方案。å¦å¤–,PaddleSlimæ供且在ä¸æ–完善å„ç§åŽ‹ç¼©ç–略在ç»å…¸å¼€æºä»»åŠ¡çš„benchmark, -以便业务用户å‚考。 - -å¯¹äºŽæ¨¡åž‹åŽ‹ç¼©ç®—æ³•ç ”ç©¶è€…æˆ–å¼€å‘者,PaddleSlimæä¾›å„ç§åŽ‹ç¼©ç–略的底层辅助接å£ï¼Œæ–¹ä¾¿ç”¨æˆ·å¤çŽ°ã€è°ƒç ”和使用最新论文方法。 -PaddleSlim会从底层能力ã€æŠ€æœ¯å’¨è¯¢åˆä½œå’Œä¸šåŠ¡åœºæ™¯ç‰è§’度支æŒå¼€å‘者进行模型压缩ç–略相关的创新工作。 - - -## 功能 - -<table style="width:100%;" cellpadding="2" cellspacing="0" border="1" bordercolor="#000000"> - <tbody> - <tr> - <td style="text-align:center;"> - <span style="font-size:18px;">功能模å—</span> - </td> - <td style="text-align:center;"> - <span style="font-size:18px;">算法</span> - </td> - <td style="text-align:center;"> - <span style="font-size:18px;">教程</span><span style="font-size:18px;">与文档</span> - </td> - </tr> - <tr> - <td style="text-align:center;"> - <span style="font-size:12px;">剪è£</span><span style="font-size:12px;"></span><br /> - </td> - <td> - <ul> - <li> - Sensitivity Pruner: <a href="https://arxiv.org/abs/1608.08710" target="_blank"><span style="font-family:"font-size:14px;background-color:#FFFFFF;"><span style="font-family:"font-size:14px;background-color:#FFFFFF;">Li H , Kadav A , Durdanovic I , et al. Pruning Filters for Efficient ConvNets[J]. 2016.</span></span></a> - </li> - <li> - AMC Pruner: <a href="https://arxiv.org/abs/1802.03494" target="_blank"><span style="font-family:"font-size:13px;background-color:#FFFFFF;">He, Yihui , et al. "AMC: AutoML for Model Compression and Acceleration on Mobile Devices." (2018).</span></a> - </li> - <li> - FPGM Pruner: <a href="https://arxiv.org/abs/1811.00250" target="_blank"><span style="font-family:"font-size:14px;background-color:#FFFFFF;">He Y , Liu P , Wang Z , et al. Filter Pruning via Geometric Median for Deep Convolutional Neural Networks Acceleration[C]// IEEE/CVF Conference on Computer Vision & Pattern Recognition. IEEE, 2019.</span></a> - </li> - <li> - Slim Pruner:<span style="background-color:#FFFDFA;"> <a href="https://arxiv.org/pdf/1708.06519.pdf" target="_blank"><span style="font-family:"font-size:14px;background-color:#FFFFFF;">Liu Z , Li J , Shen Z , et al. Learning Efficient Convolutional Networks through Network Slimming[J]. 2017.</span></a></span> - </li> - <li> - <span style="background-color:#FFFDFA;">Opt Slim Pruner: <a href="https://arxiv.org/pdf/2003.04566.pdf" target="_blank"><span style="font-family:"font-size:14px;background-color:#FFFFFF;">Ye Y , You G , Fwu J K , et al. Channel Pruning via Optimal Thresholding[J]. 2020.</span></a><br /> -</span> - </li> - </ul> - </td> - <td> - <ul> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/api_cn/prune_api.rst" target="_blank">剪è£æ¨¡å—API文档</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/quick_start/pruning_tutorial.md" target="_blank">剪è£å¿«é€Ÿå¼€å§‹ç¤ºä¾‹</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/image_classification_sensitivity_analysis_tutorial.md" target="_blank">分类模æ•æ„Ÿåº¦åˆ†æžæ•™ç¨‹</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/paddledetection_slim_pruing_tutorial.md" target="_blank">检测模型剪è£æ•™ç¨‹</a> - </li> - <li> - <span id="__kindeditor_bookmark_start_313__"></span><a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/paddledetection_slim_prune_dist_tutorial.md" target="_blank">检测模型剪è£+è’¸é¦æ•™ç¨‹</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/paddledetection_slim_sensitivy_tutorial.md" target="_blank">检测模型æ•æ„Ÿåº¦åˆ†æžæ•™ç¨‹</a> - </li> - </ul> - </td> - </tr> - <tr> - <td style="text-align:center;"> - é‡åŒ– - </td> - <td> - <ul> - <li> - Quantization Aware Training: <a href="https://arxiv.org/abs/1806.08342" target="_blank"><span style="font-family:"font-size:14px;background-color:#FFFFFF;">Krishnamoorthi R . Quantizing deep convolutional networks for efficient inference: A whitepaper[J]. 2018.</span></a> - </li> - <li> - Post Training <span>Quantization </span><a href="http://on-demand.gputechconf.com/gtc/2017/presentation/s7310-8-bit-inference-with-tensorrt.pdf" target="_blank">原ç†</a> - </li> - <li> - Embedding <span>Quantization: <a href="https://arxiv.org/pdf/1603.01025.pdf" target="_blank"><span style="font-family:"font-size:14px;background-color:#FFFFFF;">Miyashita D , Lee E H , Murmann B . Convolutional Neural Networks using Logarithmic Data Representation[J]. 2016.</span></a></span> - </li> - <li> - DSQ: <a href="https://arxiv.org/abs/1908.05033" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Gong, Ruihao, et al. "Differentiable soft quantization: Bridging full-precision and low-bit neural networks." </span><i>Proceedings of the IEEE International Conference on Computer Vision</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">. 2019.</span></a> - </li> - <li> - PACT: <a href="https://arxiv.org/abs/1805.06085" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Choi, Jungwook, et al. "Pact: Parameterized clipping activation for quantized neural networks." </span><i>arXiv preprint arXiv:1805.06085</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;"> (2018).</span></a> - </li> - </ul> - </td> - <td> - <ul> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/api_cn/quantization_api.rst" target="_blank">é‡åŒ–API文档</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/quick_start/quant_aware_tutorial.md" target="_blank">é‡åŒ–è®ç»ƒå¿«é€Ÿå¼€å§‹ç¤ºä¾‹</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/quick_start/quant_post_static_tutorial.md" target="_blank">é™æ€ç¦»çº¿é‡åŒ–快速开始示例</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/paddledetection_slim_quantization_tutorial.md" target="_blank">检测模型é‡åŒ–教程</a> - </li> - </ul> - </td> - </tr> - <tr> - <td style="text-align:center;"> - è’¸é¦ - </td> - <td> - <ul> - <li> - <span>Knowledge Distillation</span>: <a href="https://arxiv.org/abs/1503.02531" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Hinton, Geoffrey, Oriol Vinyals, and Jeff Dean. "Distilling the knowledge in a neural network." </span><i>arXiv preprint arXiv:1503.02531</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;"> (2015).</span></a> - </li> - <li> - FSP <span>Knowledge Distillation</span>: <a href="http://openaccess.thecvf.com/content_cvpr_2017/papers/Yim_A_Gift_From_CVPR_2017_paper.pdf" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Yim, Junho, et al. "A gift from knowledge distillation: Fast optimization, network minimization and transfer learning." </span><i>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">. 2017.</span></a> - </li> - <li> - YOLO Knowledge Distillation: <a href="http://openaccess.thecvf.com/content_ECCVW_2018/papers/11133/Mehta_Object_detection_at_200_Frames_Per_Second_ECCVW_2018_paper.pdf" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Mehta, Rakesh, and Cemalettin Ozturk. "Object detection at 200 frames per second." </span><i>Proceedings of the European Conference on Computer Vision (ECCV)</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">. 2018.</span></a> - </li> - <li> - DML: <a href="https://arxiv.org/abs/1706.00384" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Zhang, Ying, et al. "Deep mutual learning." </span><i>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">. 2018.</span></a> - </li> - </ul> - </td> - <td> - <ul> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/api_cn/single_distiller_api.rst" target="_blank">è’¸é¦API文档</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/quick_start/distillation_tutorial.md" target="_blank">è’¸é¦å¿«é€Ÿå¼€å§‹ç¤ºä¾‹</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/paddledetection_slim_distillation_tutorial.md" target="_blank">检测模型蒸é¦æ•™ç¨‹</a> - </li> - </ul> - </td> - </tr> - <tr> - <td style="text-align:center;"> - 模型结构æœç´¢(NAS) - </td> - <td> - <ul> - <li> - Simulate Anneal NAS: <a href="https://arxiv.org/pdf/2005.04117.pdf" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Abdelhamed, Abdelrahman, et al. "Ntire 2020 challenge on real image denoising: Dataset, methods and results." </span><i>The IEEE Conference on Computer Vision and Pattern Recognition (CVPR) Workshops</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">. Vol. 2. 2020.</span></a> - </li> - <li> - DARTS <a href="https://arxiv.org/abs/1806.09055" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Liu, Hanxiao, Karen Simonyan, and Yiming Yang. "Darts: Differentiable architecture search." </span><i>arXiv preprint arXiv:1806.09055</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;"> (2018).</span></a> - </li> - <li> - PC-DARTS <a href="https://arxiv.org/abs/1907.05737" target="_blank"><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;">Xu, Yuhui, et al. "Pc-darts: Partial channel connections for memory-efficient differentiable architecture search." </span><i>arXiv preprint arXiv:1907.05737</i><span style="color:#222222;font-family:Arial, sans-serif;font-size:13px;background-color:#FFFFFF;"> (2019).</span></a> - </li> - <li> - OneShot - </li> - </ul> - </td> - <td> - <ul> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/api_cn/nas_api.rst" target="_blank">NAS API文档</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/api_cn/darts.rst" target="_blank">DARTS API文档</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/quick_start/nas_tutorial.md" target="_blank">NAS快速开始示例</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/paddledetection_slim_nas_tutorial.md" target="_blank">检测模型NAS教程</a> - </li> - <li> - <a href="https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/zh_cn/tutorials/sanas_darts_space.md" target="_blank">SANAS进阶版实验教程-压缩DARTS产出模型</a> - </li> - </ul> - </td> - </tr> - </tbody> -</table> -<br /> +## 简介 + +PaddleSlim是一个专注于深度å¦ä¹ 模型压缩的工具库,æä¾›**剪è£ã€é‡åŒ–ã€è’¸é¦ã€å’Œæ¨¡åž‹ç»“æž„æœç´¢**ç‰æ¨¡åž‹åŽ‹ç¼©ç–略,帮助用户快速实现模型的å°åž‹åŒ–。 + +## ç‰ˆæœ¬å¯¹é½ + +| PaddleSlim | PaddlePaddle | PaddleLite | 备注 | +| :-----------: | :------------: | :------------:| :----------:| +| 1.0.1 | <=1.7 | 2.7 | 支æŒé™æ€å›¾ | +| 1.1.1 | 1.8 | 2.7 | 支æŒé™æ€å›¾ | +| 1.2.0 | 2.0Beta/RC | 2.8 | 支æŒé™æ€å›¾; 新增CPU预测 | +| 2.0.0 | 2.0 | 2.8 | 支æŒåŠ¨æ€å›¾å’Œé™æ€å›¾ | + ## 安装 +安装最新版本: ```bash 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版本 +安装指定版本: ```bash -pip install paddleslim==1.0.1 -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install paddleslim=1.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple ``` -- Paddle 1.8 系列版本,需è¦å®‰è£…PaddleSlim 1.1.1版本 +## 最近更新 + +2021.2.5: å‘布V2.0.0版本,新增支æŒåŠ¨æ€å›¾ï¼Œæ–°å¢žOFA压缩功能,优化剪æžåŠŸèƒ½ã€‚ + +## 功能概览 + +PaddleSlim支æŒä»¥ä¸‹åŠŸèƒ½ï¼Œä¹Ÿæ”¯æŒè‡ªå®šä¹‰é‡åŒ–ã€è£å‰ªç‰åŠŸèƒ½ã€‚ +<table> +<tr align="center" valign="bottom"> + <th>Quantization</th> + <th>Pruning</th> + <th>NAS</th> + <th>Distilling</th> +</tr> +<tr valign="top"> + <td> + <ul> + <li>QAT</li> + <li>PACT</li> + <li>PTQ-Static</li> + <li>PTQ-Dynamic</li> + <li>Embedding Quant</li> + </ul> + </td> + <td> + <ul> + <li>SensitivityPruner</li> + <li>FPGMFilterPruner</li> + <li>L1NormFilterPruner</li> + <li>L2NormFilterPruner</li> + <li>*SlimFilterPruner</li> + <li>*OptSlimFilterPruner</li> + </ul> + </td> + <td> + <ul> + <li>*Simulate Anneal based NAS</li> + <li>*Reinforcement Learning based NAS</li> + <li>**DARTS</li> + <li>**PC-DARTS</li> + <li>**Once-for-All</li> + <li>*Hardware-aware Search</li> + </ul> + </td> + + <td> + <ul> + <li>*FSP</li> + <li>*DML</li> + <li>*DK for YOLOv3</li> + </ul> + </td> +</tr> +</table> -```bash -pip install paddleslim==1.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple -``` +注:*表示仅支æŒé™æ€å›¾ï¼Œ**表示仅支æŒåŠ¨æ€å›¾ -- Paddle 2.0 系列版本,需è¦å®‰è£…PaddleSlim 1.2.0版本 +### 效果展示 -```bash -pip install paddleslim==1.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple -``` +PaddleSlim在典型视觉和自然è¯è¨€å¤„ç†ä»»åŠ¡ä¸Šåšäº†æ¨¡åž‹åŽ‹ç¼©ï¼Œå¹¶ä¸”测试了Nvidia GPUã€ARMç‰è®¾å¤‡ä¸Šçš„åŠ é€Ÿæƒ…å†µï¼Œè¿™é‡Œå±•ç¤ºéƒ¨åˆ†æ¨¡åž‹çš„åŽ‹ç¼©æ•ˆæžœï¼Œè¯¦ç»†æ–¹æ¡ˆå¯ä»¥å‚考下é¢CVå’ŒNLP模型压缩方案: + +<p align="center"> +<img src="docs/images/benchmark.png" height=185 width=849 hspace='10'/> <br /> +<strong>表1: éƒ¨åˆ†æ¨¡åž‹åŽ‹ç¼©åŠ é€Ÿæƒ…å†µ</strong> +</p> +注: +- YOLOv3: 在移动端SD855ä¸ŠåŠ é€Ÿ3.55å€ã€‚ +- PP-OCR: 体积由8.9Må‡å°‘到2.9M, 在SD855ä¸ŠåŠ é€Ÿ1.27å€ã€‚ +- BERT: 模型å‚æ•°ç”±110Må‡å°‘到80M,精度æå‡çš„情况下,Tesla T4 GPU FP16è®¡ç®—åŠ é€Ÿ1.47å€ã€‚ +## 文档教程 -## 使用 +### 快速上手 -- [快速开始](docs/zh_cn/quick_start):通过简å•ç¤ºä¾‹ä»‹ç»å¦‚何快速使用PaddleSlim。 -- 动æ€å›¾ï¼š - - 剪æžï¼š[教程](dygraph_docs/),[示例](demo/dygraph/pruning) - - é‡åŒ–:[示例](demo/dygraph/quant) -- [进阶教程](docs/zh_cn/tutorials):PaddleSlim高阶教程。 -- [模型库](docs/zh_cn/model_zoo.md):å„个压缩ç–略在图åƒåˆ†ç±»ã€ç›®æ ‡æ£€æµ‹å’Œå›¾åƒè¯ä¹‰åˆ†å‰²æ¨¡åž‹ä¸Šçš„实验结论,包括模型精度ã€é¢„测速度和å¯ä¾›ä¸‹è½½çš„预è®ç»ƒæ¨¡åž‹ã€‚ -- [API文档](https://paddlepaddle.github.io/PaddleSlim/api_cn/index.html) -- [算法原ç†](https://paddlepaddle.github.io/PaddleSlim/algo/algo.html): 介ç»é‡åŒ–ã€å‰ªæžã€è’¸é¦ã€NAS的基本知识背景。 -- 视觉模型压缩 - - [SlimMobileNet](paddleslim/models#slimmobilenetç³»åˆ—æŒ‡æ ‡) - - [SlimFaceNet](demo/slimfacenet/README.md) - - [OCR模型压缩(基于PaddleOCR)](demo/ocr/README.md) - - [检测模型压缩(基于PaddleDetection)](demo/detection/README.md) -- [TensorRT部署](demo/quant/deploy/TensorRT): 介ç»å¦‚何使用TensorRT部署PaddleSlimé‡åŒ–得到的模型。 +- é‡åŒ–è®ç»ƒ - [动æ€å›¾]() | [é™æ€å›¾]() +- 离线é‡åŒ– - [动æ€å›¾]() | [é™æ€å›¾]() +- å‰ªè£ - [动æ€å›¾]() | [é™æ€å›¾]() +- è’¸é¦ - [动æ€å›¾]() | [é™æ€å›¾]() +- NAS - [动æ€å›¾]() | [é™æ€å›¾]() -## 部分压缩ç–略效果 +### 进阶教程 -### 分类模型 +#### 压缩功能详解 -æ•°æ®: ImageNet2012; 模型: MobileNetV1; +[é‡åŒ–è®ç»ƒ]() | [离线é‡åŒ–]() | [剪è£]() | [è’¸é¦]() | [NAS]() -|压缩ç–ç•¥ |精度收益(baseline: 70.91%) |模型大å°(baseline: 17.0M)| -|:---:|:---:|:---:| -| 知识蒸é¦(ResNet50)| [+1.06%]() |-| -| 知识蒸é¦(ResNet50) + int8é‡åŒ–è®ç»ƒ |[+1.10%]()| [-71.76%]()| -| 剪è£(FLOPs-50%) + int8é‡åŒ–è®ç»ƒ|[-1.71%]()|[-86.47%]()| +#### 推ç†éƒ¨ç½² +- [概述]() +- [PaddleInferenceé‡åŒ–部署]() + - [Intel CPUé‡åŒ–部署]() + - [GPUé‡åŒ–部署]() +- [PaddleLiteé‡åŒ–部署]() -### 图åƒæ£€æµ‹æ¨¡åž‹ +### CV模型压缩 -#### æ•°æ®ï¼šPascal VOC;模型:MobileNet-V1-YOLOv3 +- [检测模型压缩(基于PaddleDetection)]() + - YOLOv3 3.5å€åŠ 速方案 -| 压缩方法 | 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%]()| +- [分割模型压缩(基于PaddleSeg)]() +- [OCR模型压缩(基于PaddleOCR)]() + - [3.5M模型压缩方案]() -#### æ•°æ®ï¼šCOCO;模型:MobileNet-V1-YOLOv3 +### NLP模型压缩 -| 压缩方法 | mAP(baseline: 29.3%) | 模型大å°| -| :---------------------: | :------------: | :------:| -| 知识蒸é¦(ResNet34-YOLOv3) | [+2.1%]() |-| -| 知识蒸é¦(ResNet34-YOLOv3)+剪è£(FLOPs-67.56%) | [-0.3%]() | [-66.90%]()| +- [BERT]() +- [ERNIE]() -### æœç´¢ +### 通用轻é‡çº§æ¨¡åž‹ -æ•°æ®ï¼šImageNet2012; 模型:MobileNetV2 +- 人脸模型(SlimfaceNet) +- 图åƒåˆ†ç±»æ¨¡åž‹ï¼ˆSlimMobileNet) -|硬件环境 | 推ç†è€—æ—¶ | Top1准确率(baseline:71.90%) | -|:---------------:|:---------:|:--------------------:| -| RK3288 | [-23%]() | +0.07% | -| Android cellphone | [-20%]() | +0.16% | -| iPhone 6s | [-17%]() | +0.32% | +### API文档 + +- 动æ€å›¾ +- é™æ€å›¾ + +### [FAQ]() ## 许å¯è¯ä¹¦ -本项目的å‘布å—[Apache 2.0 license](LICENSE)许å¯è®¤è¯ã€‚ -## 如何贡献代ç +本项目的å‘布å—[Apache 2.0 license](https://github.com/PaddlePaddle/PaddleSlim/blob/develop/LICENSE)许å¯è®¤è¯ã€‚ + +## 贡献代ç 我们éžå¸¸æ¬¢è¿Žä½ å¯ä»¥ä¸ºPaddleSlimæ供代ç ,也ååˆ†æ„Ÿè°¢ä½ çš„å馈。 + +## æ¬¢è¿ŽåŠ å…¥PaddleSlim技术交æµç¾¤ diff --git a/docs/images/benchmark.png b/docs/images/benchmark.png new file mode 100644 index 0000000000000000000000000000000000000000..71471b96f234b03ae140ff7d8d706df319f56d4b Binary files /dev/null and b/docs/images/benchmark.png differ diff --git a/docs/zh_cn/api_cn/dygraph/nas/index.rst b/docs/zh_cn/api_cn/dygraph/nas/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..d3d360788149d879809b1653f8c75bca6ac013df --- /dev/null +++ b/docs/zh_cn/api_cn/dygraph/nas/index.rst @@ -0,0 +1,12 @@ +.. PaddleSlim documentation master file, created by + sphinx-quickstart on Wed Feb 5 14:04:52 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +NAS +======= + +.. toctree:: + :maxdepth: 1 + + darts.rst diff --git a/docs/zh_cn/api_cn/dygraph/ofa/index.rst b/docs/zh_cn/api_cn/dygraph/ofa/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..6b58b827abf19952d9d2203bad65f0aca0af2f59 --- /dev/null +++ b/docs/zh_cn/api_cn/dygraph/ofa/index.rst @@ -0,0 +1,10 @@ + +Once-For-All +============= + +.. toctree:: + :maxdepth: 1 + + convert_supernet_api.rst + ofa_api.rst + ofa_layer_api.rst diff --git a/docs/zh_cn/api_cn/dygraph/pruners/index.rst b/docs/zh_cn/api_cn/dygraph/pruners/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..59fa38e2ff786749dc6b99894f503eca2c3b490c --- /dev/null +++ b/docs/zh_cn/api_cn/dygraph/pruners/index.rst @@ -0,0 +1,9 @@ +Pruners +=============== + +.. toctree:: + :maxdepth: 1 + + l1norm_filter_pruner.rst + l2norm_filter_pruner.rst + fpgm_filter_pruner.rst diff --git a/docs/zh_cn/api_cn/dygraph/quanter/index.rst b/docs/zh_cn/api_cn/dygraph/quanter/index.rst new file mode 100644 index 0000000000000000000000000000000000000000..f155495c35b9834b3338e8afeaf43fe99d0f74d5 --- /dev/null +++ b/docs/zh_cn/api_cn/dygraph/quanter/index.rst @@ -0,0 +1,7 @@ +QAT +=============== + +.. toctree:: + :maxdepth: 1 + + qat.rst