Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSlim
提交
feebdcac
P
PaddleSlim
项目概览
PaddlePaddle
/
PaddleSlim
1 年多 前同步成功
通知
51
Star
1434
Fork
344
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
53
列表
看板
标记
里程碑
合并请求
16
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleSlim
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
53
Issue
53
列表
看板
标记
里程碑
合并请求
16
合并请求
16
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
feebdcac
编写于
1月 07, 2020
作者:
B
baiyfbupt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Deployed
482d368d
with MkDocs version: 1.0.4
上级
558ce514
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
174 addition
and
30 deletion
+174
-30
index.html
index.html
+173
-28
model_zoo/index.html
model_zoo/index.html
+0
-1
search/search_index.json
search/search_index.json
+1
-1
sitemap.xml.gz
sitemap.xml.gz
+0
-0
未找到文件。
index.html
浏览文件 @
feebdcac
...
...
@@ -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 0
7:57:29
Build Date UTC : 2020-01-07 0
9:29:02
-->
model_zoo/index.html
浏览文件 @
feebdcac
...
...
@@ -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
&
COCO 2017
</p>
<h3
id=
"21"
>
2.1 量化
<a
class=
"headerlink"
href=
"#21"
title=
"Permanent link"
>
#
</a></h3>
<p>
数据集: COCO 2017
</p>
<table>
...
...
search/search_index.json
浏览文件 @
feebdcac
此差异已折叠。
点击以展开。
sitemap.xml.gz
浏览文件 @
feebdcac
无法预览此类型文件
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录