提交 feebdcac 编写于 作者: B baiyfbupt

Deployed 482d368d with MkDocs version: 1.0.4

上级 558ce514
......@@ -57,13 +57,15 @@
<ul>
<li><a class="toctree-l3" href="#_1">功能</a></li>
<li><a class="toctree-l3" href="#_1">架构</a></li>
<li><a class="toctree-l3" href="#_2">安装</a></li>
<li><a class="toctree-l3" href="#_2">功能</a></li>
<li><a class="toctree-l3" href="#_3">使用</a></li>
<li><a class="toctree-l3" href="#_3">安装</a></li>
<li><a class="toctree-l3" href="#_4">贡献与反馈</a></li>
<li><a class="toctree-l3" href="#_4">性能</a></li>
<li><a class="toctree-l3" href="#_8">最佳实践</a></li>
</ul>
......@@ -180,33 +182,39 @@
<h1 id="paddleslim">PaddleSlim<a class="headerlink" href="#paddleslim" title="Permanent link">#</a></h1>
<p>PaddleSlim是PaddlePaddle框架的一个子模块,主要用于压缩图像领域模型。在PaddleSlim中,不仅实现了目前主流的网络剪枝、量化、蒸馏三种压缩策略,还实现了超参数搜索和小模型网络结构搜索功能。在后续版本中,会添加更多的压缩策略,以及完善对NLP领域模型的支持。</p>
<h2 id="_1">功能<a class="headerlink" href="#_1" title="Permanent link">#</a></h2>
<h2 id="_1">架构<a class="headerlink" href="#_1" title="Permanent link">#</a></h2>
<p>(TODO) PaddleSlim架构介绍...</p>
<h2 id="_2">功能<a class="headerlink" href="#_2" title="Permanent link">#</a></h2>
<ul>
<li>模型剪裁</li>
<li>支持通道均匀模型剪裁(uniform pruning)</li>
<li>基于敏感度的模型剪裁</li>
<li>
<p>基于进化算法的自动模型剪裁三种方式</p>
<p>模型剪裁</p>
<ul>
<li>通道均匀模型剪裁</li>
<li>基于敏感度的模型剪裁</li>
<li>基于进化算法的自动模型剪裁</li>
</ul>
</li>
<li>
<p>量化训练</p>
</li>
<li>在线量化训练(training aware)</li>
<li>离线量化(post training)</li>
<li>
<p>支持对权重全局量化和Channel-Wise量化</p>
<ul>
<li>在线量化训练</li>
<li>离线量化</li>
<li>对权重全局量化和Channel-Wise量化</li>
</ul>
</li>
<li>
<p>蒸馏</p>
<p>知识蒸馏</p>
</li>
<li>
<p>轻量神经网络结构自动搜索(Light-NAS)</p>
</li>
<li>支持基于进化算法的轻量神经网络结构自动搜索(Light-NAS)</li>
<li>支持 FLOPS / 硬件延时约束</li>
<ul>
<li>基于进化算法的轻量神经网络结构自动搜索(Light-NAS)</li>
<li>支持FLOPS / 硬件延时约束</li>
<li>支持多平台模型延时评估</li>
</ul>
<h2 id="_2">安装<a class="headerlink" href="#_2" title="Permanent link">#</a></h2>
</li>
</ul>
<h2 id="_3">安装<a class="headerlink" href="#_3" title="Permanent link">#</a></h2>
<p>安装PaddleSlim前,请确认已正确安装Paddle1.6版本或更新版本。Paddle安装请参考:<a href="https://www.paddlepaddle.org.cn/install/quick">Paddle安装教程</a></p>
<ul>
<li>安装develop版本</li>
......@@ -230,17 +238,154 @@
<li>安装历史版本</li>
</ul>
<p>请点击<a href="https://pypi.org/project/paddleslim/#history">pypi.org</a>查看可安装历史版本。</p>
<h2 id="_3">使用<a class="headerlink" href="#_3" title="Permanent link">#</a></h2>
<h2 id="_4">性能<a class="headerlink" href="#_4" title="Permanent link">#</a></h2>
<p>PaddleSlim的离线量化、在线量化、均匀剪裁、敏感度剪裁、知识蒸馏等策略在多个主流CNN模型上都进行了验证,部分实验结果如下,全部的实验结果请参见<a href="">模型库</a></p>
<h4 id="_5">量化<a class="headerlink" href="#_5" title="Permanent link">#</a></h4>
<p>我们在多个模型上分别验证了离线量化和在线量化的效果:离线量化过程简单,无需再次训练,但精度损失相对较多;在线量化需要额外的训练过程,但好处是精度损失可以被有效降低:</p>
<table>
<thead>
<tr>
<th align="center">模型</th>
<th align="center">压缩方法</th>
<th align="center">Top-1/Top-5 Acc</th>
<th align="center">模型大小(MB)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">-</td>
<td align="center">72.15%/90.65%</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">quant_post</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">quant_aware</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">ResNet50</td>
<td align="center">-</td>
<td align="center">76.50%/93.00%</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">ResNet50</td>
<td align="center">quant_post</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">ResNet50</td>
<td align="center">quant_aware</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
</tr>
</tbody>
</table>
<h4 id="_6">剪裁<a class="headerlink" href="#_6" title="Permanent link">#</a></h4>
<p>模型剪裁在不带来过多精度损失的前提下有效降低模型计算的FLOPs(floating point operations per second),PaddleSlim在多个模型上验证了均匀剪裁、敏感度剪裁、自动剪裁三种方式,并取得了一定收益:</p>
<table>
<thead>
<tr>
<th align="center">模型</th>
<th align="center">压缩方法</th>
<th align="center">Top-1/Top-5 Acc</th>
<th align="center">模型大小(MB)</th>
<th align="center">FLOPs(M)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">-</td>
<td align="center">72.15%/90.65%</td>
<td align="center">xx</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">uniform -xx%</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">sensitive -xx%</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">ResNet34</td>
<td align="center">-</td>
<td align="center">74.57%/92.14%</td>
<td align="center">xx</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">ResNet34</td>
<td align="center">uniform -xx%</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
<td align="center">xx</td>
</tr>
<tr>
<td align="center">ResNet34</td>
<td align="center">auto -xx%</td>
<td align="center">xx%/xx%</td>
<td align="center">xx</td>
<td align="center">xx</td>
</tr>
</tbody>
</table>
<h4 id="_7">蒸馏<a class="headerlink" href="#_7" title="Permanent link">#</a></h4>
<p>我们在多个图象分类和目标检测模型上应用了PaddleSlim的知识蒸馏功能,这些实验在不增加目标模型计算复杂度的前提下都一定程度提升了其精度表现:</p>
<table>
<thead>
<tr>
<th align="center">模型</th>
<th align="center">压缩方法</th>
<th align="center">Top-1/Top-5 Acc</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">-</td>
<td align="center">72.15%/90.65%</td>
</tr>
<tr>
<td align="center">MobileNetV2</td>
<td align="center">ResNet50_vd distill</td>
<td align="center">74.28%/91.53%</td>
</tr>
<tr>
<td align="center">ResNet50</td>
<td align="center">-</td>
<td align="center">76.50%/93.00%</td>
</tr>
<tr>
<td align="center">ResNet50</td>
<td align="center">ResNet101 distill</td>
<td align="center">77.29%/93.65%</td>
</tr>
</tbody>
</table>
<h2 id="_8">最佳实践<a class="headerlink" href="#_8" title="Permanent link">#</a></h2>
<ul>
<li><a href="doc/api_guide.md">API文档</a>:API使用介绍,包括<a href="">蒸馏</a><a href="">剪裁</a><a href="">量化</a><a href="">模型结构搜索</a></li>
<li><a href="doc/demo_guide.md">示例</a>:基于mnist和cifar10等简单分类任务的模型压缩示例,您可以通过该部分快速体验和了解PaddleSlim的功能。</li>
<li><a href="">实践教程</a>:经典模型的分析和压缩实验教程。</li>
<li><a href="">模型库</a>:经过压缩的分类、检测、语义分割模型,包括权重文件、网络结构文件和性能数据。</li>
<li><a href="">Paddle检测库</a>:介绍如何在检测库中使用PaddleSlim。</li>
<li><a href="">Paddle分割库</a>:介绍如何在分割库中使用PaddleSlim。</li>
<li><a href="">Paddle检测库</a>:介绍如何在PaddleDetection检测库中使用PaddleSlim。</li>
<li><a href="">Paddle分割库</a>:介绍如何在PaddleSeg分割库中使用PaddleSlim。</li>
<li><a href="">PaddleLite</a>:介绍如何使用预测库PaddleLite部署PaddleSlim产出的模型。</li>
</ul>
<h2 id="_4">贡献与反馈<a class="headerlink" href="#_4" title="Permanent link">#</a></h2>
</div>
</div>
......@@ -293,5 +438,5 @@
<!--
MkDocs version : 1.0.4
Build Date UTC : 2020-01-07 07:57:29
Build Date UTC : 2020-01-07 09:29:02
-->
......@@ -461,7 +461,6 @@
<p><a name="trans1">[1]</a>:带_vd后缀代表该预训练模型使用了Mixup,Mixup相关介绍参考<a href="https://arxiv.org/abs/1710.09412">mixup: Beyond Empirical Risk Minimization</a></p>
</div>
<h2 id="2">2. 目标检测<a class="headerlink" href="#2" title="Permanent link">#</a></h2>
<p>数据集:Pasacl VOC &amp; COCO 2017 </p>
<h3 id="21">2.1 量化<a class="headerlink" href="#21" title="Permanent link">#</a></h3>
<p>数据集: COCO 2017</p>
<table>
......
此差异已折叠。
无法预览此类型文件
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册