Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSlim
提交
8a62b6fe
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看板
提交
8a62b6fe
编写于
1月 09, 2020
作者:
B
baiyfbupt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Deployed ab60054 with MkDocs version: 1.0.4
上级
fc74b36d
变更
24
展开全部
隐藏空白更改
内联
并排
Showing
24 changed file
with
207 addition
and
396 deletion
+207
-396
404.html
404.html
+1
-1
algo/algo/index.html
algo/algo/index.html
+1
-1
api/analysis_api/index.html
api/analysis_api/index.html
+10
-6
api/api_guide/index.html
api/api_guide/index.html
+2
-2
api/nas_api/index.html
api/nas_api/index.html
+67
-248
api/prune_api/index.html
api/prune_api/index.html
+7
-7
api/quantization_api/index.html
api/quantization_api/index.html
+4
-4
api/single_distiller_api/index.html
api/single_distiller_api/index.html
+1
-1
index.html
index.html
+2
-2
model_zoo/index.html
model_zoo/index.html
+1
-1
search.html
search.html
+1
-1
search/search_index.json
search/search_index.json
+1
-1
search_space/index.html
search_space/index.html
+87
-99
sitemap.xml
sitemap.xml
+2
-2
sitemap.xml.gz
sitemap.xml.gz
+0
-0
table_latency/index.html
table_latency/index.html
+3
-3
tutorials/demo_guide/index.html
tutorials/demo_guide/index.html
+1
-1
tutorials/distillation_demo/index.html
tutorials/distillation_demo/index.html
+1
-1
tutorials/nas_demo/index.html
tutorials/nas_demo/index.html
+2
-2
tutorials/pruning_demo/index.html
tutorials/pruning_demo/index.html
+1
-1
tutorials/quant_aware_demo/index.html
tutorials/quant_aware_demo/index.html
+2
-2
tutorials/quant_embedding_demo/index.html
tutorials/quant_embedding_demo/index.html
+5
-5
tutorials/quant_post_demo/index.html
tutorials/quant_post_demo/index.html
+4
-4
tutorials/sensitivity_demo/index.html
tutorials/sensitivity_demo/index.html
+1
-1
未找到文件。
404.html
浏览文件 @
8a62b6fe
...
...
@@ -104,7 +104,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"/api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"/api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
algo/algo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -111,7 +111,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
api/analysis_api/index.html
浏览文件 @
8a62b6fe
...
...
@@ -123,7 +123,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -178,7 +178,7 @@
<h2
id=
"flops"
>
FLOPs
<a
class=
"headerlink"
href=
"#flops"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.analysis.flops(program, detail=False)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/flops.py"
>
源代码
</a></dt>
<dt>
paddleslim.analysis.flops(program, detail=False)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/flops.py"
>
[源代码]
</a></dt>
<dd>
<p>
获得指定网络的浮点运算次数(FLOPs)。
</p>
</dd>
...
...
@@ -314,8 +314,12 @@
</td></tr></table>
<h2
id=
"model_size"
>
model_size
<a
class=
"headerlink"
href=
"#model_size"
title=
"Permanent link"
>
#
</a></h2>
<p>
paddleslim.analysis.model_size(program)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/model_size.py"
>
源代码
</a></p>
<dl>
<dt>
paddleslim.analysis.model_size(program)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/model_size.py"
>
[源代码]
</a></dt>
<dd>
<p>
获得指定网络的参数数量。
</p>
</dd>
</dl>
<p><strong>
参数:
</strong></p>
<ul>
<li><strong>
program(paddle.fluid.Program)
</strong>
- 待分析的目标网络。更多关于Program的介绍请参考:
<a
href=
"https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/fluid_cn/Program_cn.html#program"
>
Program概念介绍
</a>
。
</li>
...
...
@@ -419,7 +423,7 @@
<h2
id=
"tablelatencyevaluator"
>
TableLatencyEvaluator
<a
class=
"headerlink"
href=
"#tablelatencyevaluator"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.analysis.TableLatencyEvaluator(table_file, delimiter=",")
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/latency.py"
>
源代码
</a></dt>
<dt>
paddleslim.analysis.TableLatencyEvaluator(table_file, delimiter=",")
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/latency.py"
>
[源代码]
</a></dt>
<dd>
<p>
基于硬件延时表的模型延时评估器。
</p>
</dd>
...
...
@@ -427,7 +431,7 @@
<p><strong>
参数:
</strong></p>
<ul>
<li>
<p><strong>
table_file(str)
</strong>
- 所使用的延时评估表的绝对路径。关于演示评估表格式请参考:
<a
href=
"
../paddleslim/analysi
s/table_latency.md"
>
PaddleSlim硬件延时评估表格式
</a></p>
<p><strong>
table_file(str)
</strong>
- 所使用的延时评估表的绝对路径。关于演示评估表格式请参考:
<a
href=
"
https://github.com/PaddlePaddle/PaddleSlim/blob/develop/docs/doc
s/table_latency.md"
>
PaddleSlim硬件延时评估表格式
</a></p>
</li>
<li>
<p><strong>
delimiter(str)
</strong>
- 硬件延时评估表中,操作信息之前所使用的分割符,默认为英文字符逗号。
</p>
...
...
@@ -438,7 +442,7 @@
<li><strong>
Evaluator
</strong>
- 硬件延时评估器的实例。
</li>
</ul>
<dl>
<dt>
paddleslim.analysis.TableLatencyEvaluator.latency(graph)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/latency.py"
>
源代码
</a></dt>
<dt>
paddleslim.analysis.TableLatencyEvaluator.latency(graph)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/analysis/latency.py"
>
[源代码]
</a></dt>
<dd>
<p>
获得指定网络的预估延时。
</p>
</dd>
...
...
api/api_guide/index.html
浏览文件 @
8a62b6fe
...
...
@@ -111,7 +111,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -187,7 +187,7 @@
<h2
id=
"_5"
><a
href=
""
>
小模型结构搜索
</a><a
class=
"headerlink"
href=
"#_5"
title=
"Permanent link"
>
#
</a></h2>
<ul>
<li><a
href=
"../nas_api/"
>
nas API
</a></li>
<li><a
href=
".
./search_space/
"
>
SearchSpace
</a></li>
<li><a
href=
".
/search_space.md
"
>
SearchSpace
</a></li>
</ul>
</div>
...
...
api/nas_api/index.html
浏览文件 @
8a62b6fe
此差异已折叠。
点击以展开。
api/prune_api/index.html
浏览文件 @
8a62b6fe
...
...
@@ -129,7 +129,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -184,7 +184,7 @@
<h2
id=
"pruner"
>
Pruner
<a
class=
"headerlink"
href=
"#pruner"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.prune.Pruner(criterion="l1_norm")
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/pruner.py#L28"
>
源代码
</a></dt>
<dt>
paddleslim.prune.Pruner(criterion="l1_norm")
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/pruner.py#L28"
>
[源代码]
</a></dt>
<dd>
<p>
对卷积网络的通道进行一次剪裁。剪裁一个卷积层的通道,是指剪裁该卷积层输出的通道。卷积层的权重形状为
<code>
[output_channel, input_channel, kernel_size, kernel_size]
</code>
,通过剪裁该权重的第一纬度达到剪裁输出通道数的目的。
</p>
</dd>
...
...
@@ -202,7 +202,7 @@
</td></tr></table>
<dl>
<dt>
paddleslim.prune.Pruner.prune(program, scope, params, ratios, place=None, lazy=False, only_graph=False, param_backup=False, param_shape_backup=False)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/pruner.py#L36"
>
源代码
</a></dt>
<dt>
paddleslim.prune.Pruner.prune(program, scope, params, ratios, place=None, lazy=False, only_graph=False, param_backup=False, param_shape_backup=False)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/pruner.py#L36"
>
[源代码]
</a></dt>
<dd>
<p>
对目标网络的一组卷积层的权重进行裁剪。
</p>
</dd>
...
...
@@ -404,7 +404,7 @@
<hr
/>
<h2
id=
"sensitivity"
>
sensitivity
<a
class=
"headerlink"
href=
"#sensitivity"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.prune.sensitivity(program, place, param_names, eval_func, sensitivities_file=None, pruned_ratios=None)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L34"
>
源代码
</a></dt>
<dt>
paddleslim.prune.sensitivity(program, place, param_names, eval_func, sensitivities_file=None, pruned_ratios=None)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L34"
>
[源代码]
</a></dt>
<dd>
<p>
计算网络中每个卷积层的敏感度。每个卷积层的敏感度信息统计方法为:依次剪掉当前卷积层不同比例的输出通道数,在测试集上计算剪裁后的精度损失。得到敏感度信息后,可以通过观察或其它方式确定每层卷积的剪裁率。
</p>
</dd>
...
...
@@ -653,7 +653,7 @@
<h2
id=
"merge_sensitive"
>
merge_sensitive
<a
class=
"headerlink"
href=
"#merge_sensitive"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.prune.merge_sensitive(sensitivities)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L161"
>
源代码
</a></dt>
<dt>
paddleslim.prune.merge_sensitive(sensitivities)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L161"
>
[源代码]
</a></dt>
<dd>
<p>
合并多个敏感度信息。
</p>
</dd>
...
...
@@ -690,7 +690,7 @@
<p>
示例:
</p>
<h2
id=
"load_sensitivities"
>
load_sensitivities
<a
class=
"headerlink"
href=
"#load_sensitivities"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.prune.load_sensitivities(sensitivities_file)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L184"
>
源代码
</a></dt>
<dt>
paddleslim.prune.load_sensitivities(sensitivities_file)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L184"
>
[源代码]
</a></dt>
<dd>
<p>
从文件中加载敏感度信息。
</p>
</dd>
...
...
@@ -706,7 +706,7 @@
<p>
示例:
</p>
<h2
id=
"get_ratios_by_loss"
>
get_ratios_by_loss
<a
class=
"headerlink"
href=
"#get_ratios_by_loss"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.prune.get_ratios_by_loss(sensitivities, loss)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L206"
>
源代码
</a></dt>
<dt>
paddleslim.prune.get_ratios_by_loss(sensitivities, loss)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/prune/sensitive.py#L206"
>
[源代码]
</a></dt>
<dd>
<p>
根据敏感度和精度损失阈值计算出一组剪切率。对于参数
<code>
w
</code>
, 其剪裁率为使精度损失低于
<code>
loss
</code>
的最大剪裁率。
</p>
</dd>
...
...
api/quantization_api/index.html
浏览文件 @
8a62b6fe
...
...
@@ -129,7 +129,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -254,13 +254,13 @@
</ul>
<div
class=
"admonition note"
>
<p
class=
"admonition-title"
>
注意事项
</p>
</div>
<ul>
<li>
此接口会改变
<code>
program
</code>
结构,并且可能增加一些
<code>
persistable
</code>
的变量,所以加载模型参数时请注意和相应的
<code>
program
</code>
对应。
</li>
<li>
此接口底层经历了
<code>
fluid.Program
</code>
-
>
<code>
fluid.framework.IrGraph
</code>
-
>
<code>
fluid.Program
</code>
的转变,在
<code>
fluid.framework.IrGraph
</code>
中没有
<code>
Parameter
</code>
的概念,
<code>
Variable
</code>
只有
<code>
persistable
</code>
和
<code>
not persistable
</code>
的区别,所以在保存和加载参数时,请使用
<code>
fluid.io.save_persistables
</code>
和
<code>
fluid.io.load_persistables
</code>
接口。
</li>
<li>
由于此接口会根据
<code>
program
</code>
的结构和量化配置来对
<code>
program
</code>
添加op,所以
<code>
Paddle
</code>
中一些通过
<code>
fuse op
</code>
来加速训练的策略不能使用。已知以下策略在使用量化时必须设为
<code>
False
</code>
:
<code>
fuse_all_reduce_ops, sync_batch_norm
</code>
。
</li>
<li>
如果传入的
<code>
program
</code>
中存在和任何op都没有连接的
<code>
Variable
</code>
,则会在量化的过程中被优化掉。
</li>
</ul>
</div>
<h2
id=
"convert"
>
convert
<a
class=
"headerlink"
href=
"#convert"
title=
"Permanent link"
>
#
</a></h2>
<dl>
<dt>
paddleslim.quant.convert(program, place, config, scope=None, save_int8=False)
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/blob/develop/paddleslim/quant/quanter.py"
>
[源代码]
</a></dt>
...
...
@@ -283,8 +283,8 @@
</ul>
<div
class=
"admonition note"
>
<p
class=
"admonition-title"
>
注意事项
</p>
</div>
<p>
因为该接口会对
<code>
op
</code>
和
<code>
Variable
</code>
做相应的删除和修改,所以此接口只能在训练完成之后调用。如果想转化训练的中间模型,可加载相应的参数之后再使用此接口。
</p>
</div>
<p><strong>
代码示例
</strong></p>
<table
class=
"codehilitetable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span>
1
2
...
...
@@ -388,8 +388,8 @@
<p>
无。
</p>
<div
class=
"admonition note"
>
<p
class=
"admonition-title"
>
注意事项
</p>
</div>
<p>
因为该接口会收集校正数据的所有的激活值,所以使用的校正图片不能太多。
<code>
'KL'
</code>
散度的计算也比较耗时。
</p>
</div>
<p><strong>
代码示例
</strong></p>
<blockquote>
<p>
注: 此示例不能直接运行,因为需要加载
<code>
${model_dir}
</code>
下的模型,所以不能直接运行。
</p>
...
...
api/single_distiller_api/index.html
浏览文件 @
8a62b6fe
...
...
@@ -129,7 +129,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
index.html
浏览文件 @
8a62b6fe
...
...
@@ -129,7 +129,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -293,5 +293,5 @@
<!--
MkDocs version : 1.0.4
Build Date UTC : 2020-01-09 0
5:24:41
Build Date UTC : 2020-01-09 0
6:39:56
-->
model_zoo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -151,7 +151,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
search.html
浏览文件 @
8a62b6fe
...
...
@@ -104,7 +104,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"./api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"./api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
search/search_index.json
浏览文件 @
8a62b6fe
此差异已折叠。
点击以展开。
api/
search_space/index.html
→
search_space/index.html
浏览文件 @
8a62b6fe
此差异已折叠。
点击以展开。
sitemap.xml
浏览文件 @
8a62b6fe
...
...
@@ -61,8 +61,8 @@
<changefreq>
daily
</changefreq>
</url>
<url>
<loc>
None
</loc>
<lastmod>
2020-01-09
</lastmod>
<loc></loc>
<changefreq>
daily
</changefreq>
</url>
<url>
...
...
sitemap.xml.gz
浏览文件 @
8a62b6fe
无法预览此类型文件
table_latency/index.html
浏览文件 @
8a62b6fe
...
...
@@ -111,7 +111,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
" current"
>
...
...
@@ -322,7 +322,7 @@
<a
href=
"../algo/algo/"
class=
"btn btn-neutral float-right"
title=
"算法原理"
>
Next
<span
class=
"icon icon-circle-arrow-right"
></span></a>
<a
href=
"../api/
search_space/"
class=
"btn btn-neutral"
title=
"搜索空间
"
><span
class=
"icon icon-circle-arrow-left"
></span>
Previous
</a>
<a
href=
"../api/
nas_api/"
class=
"btn btn-neutral"
title=
"SA搜索
"
><span
class=
"icon icon-circle-arrow-left"
></span>
Previous
</a>
</div>
...
...
@@ -350,7 +350,7 @@
<a
href=
"https://github.com/PaddlePaddle/PaddleSlim/"
class=
"fa fa-github"
style=
"float: left; color: #fcfcfc"
>
GitHub
</a>
<span><a
href=
"../api/
search_space
/"
style=
"color: #fcfcfc;"
>
«
Previous
</a></span>
<span><a
href=
"../api/
nas_api
/"
style=
"color: #fcfcfc;"
>
«
Previous
</a></span>
<span
style=
"margin-left: 15px"
><a
href=
"../algo/algo/"
style=
"color: #fcfcfc"
>
Next
»
</a></span>
...
...
tutorials/demo_guide/index.html
浏览文件 @
8a62b6fe
...
...
@@ -111,7 +111,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
tutorials/distillation_demo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -134,7 +134,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
tutorials/nas_demo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -123,7 +123,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -181,7 +181,7 @@
<h2
id=
"_2"
>
接口介绍
<a
class=
"headerlink"
href=
"#_2"
title=
"Permanent link"
>
#
</a></h2>
<p>
请参考。
</p>
<h3
id=
"1"
>
1. 配置搜索空间
<a
class=
"headerlink"
href=
"#1"
title=
"Permanent link"
>
#
</a></h3>
<p>
详细的搜索空间配置可以参考
<a
href=
'../../../paddleslim/nas/nas_api.md'
>
神经网络搜索API文档
</a>
。
<p>
详细的搜索空间配置可以参考
<a
href=
"https://paddlepaddle.github.io/PaddleSlim/api/nas_api/"
>
神经网络搜索API文档
</a>
。
<table
class=
"codehilitetable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span>
1
</pre></div></td><td
class=
"code"
><div
class=
"codehilite"
><pre><span></span><span
class=
"n"
>
config
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[(
</span><span
class=
"s1"
>
'
MobileNetV2Space
'
</span><span
class=
"p"
>
)]
</span>
</pre></div>
</td></tr></table></p>
...
...
tutorials/pruning_demo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -111,7 +111,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
tutorials/quant_aware_demo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -125,7 +125,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -181,7 +181,7 @@
<h1
id=
"_1"
>
在线量化示例
<a
class=
"headerlink"
href=
"#_1"
title=
"Permanent link"
>
#
</a></h1>
<p>
本示例介绍如何使用在线量化接口,来对训练好的分类模型进行量化, 可以减少模型的存储空间和显存占用。
</p>
<h2
id=
"_2"
>
接口介绍
<a
class=
"headerlink"
href=
"#_2"
title=
"Permanent link"
>
#
</a></h2>
<p>
请参考
<a
href=
'../../../paddleslim/quant/quantization_api_doc.md'
>
量化API文档
</a>
。
</p>
<p>
请参考
<a
href=
"https://paddlepaddle.github.io/PaddleSlim/api/quantization_api/"
>
量化API文档
</a>
。
</p>
<h2
id=
"_3"
>
分类模型的离线量化流程
<a
class=
"headerlink"
href=
"#_3"
title=
"Permanent link"
>
#
</a></h2>
<h3
id=
"1"
>
1. 配置量化参数
<a
class=
"headerlink"
href=
"#1"
title=
"Permanent link"
>
#
</a></h3>
<table
class=
"codehilitetable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span>
1
...
...
tutorials/quant_embedding_demo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -125,7 +125,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -179,18 +179,18 @@
<div
class=
"section"
>
<h1
id=
"embedding"
>
Embedding量化示例
<a
class=
"headerlink"
href=
"#embedding"
title=
"Permanent link"
>
#
</a></h1>
<p>
本示例介绍如何使用Embedding量化的接口
<a
href=
""
>
paddleslim.quant.quant_embedding
</a>
。
<code>
quant_embedding
</code>
接口将网络中的Embedding参数从
<code>
float32
</code>
类型量化到
<code>
8-bit
</code>
整数类型,在几乎不损失模型精度的情况下减少模型的存储空间和显存占用。
</p>
<p>
接口介绍请参考
<a
href=
'../../../paddleslim/quant/quantization_api_doc.md'
>
量化API文档
</a>
。
</p>
<p>
本示例介绍如何使用Embedding量化的接口
<a
href=
"
https://paddlepaddle.github.io/PaddleSlim/api/quantization_api/
"
>
paddleslim.quant.quant_embedding
</a>
。
<code>
quant_embedding
</code>
接口将网络中的Embedding参数从
<code>
float32
</code>
类型量化到
<code>
8-bit
</code>
整数类型,在几乎不损失模型精度的情况下减少模型的存储空间和显存占用。
</p>
<p>
接口介绍请参考
<a
href=
"https://paddlepaddle.github.io/PaddleSlim/api/quantization_api/"
>
量化API文档
</a>
。
</p>
<p>
该接口对program的修改:
</p>
<p>
量化前:
</p>
<p
align=
"center"
>
<img
src=
"
.
/image/before.png"
height=
200
width=
100
hspace=
'10'
/>
<br
/>
<img
src=
"
https://raw.githubusercontent.com/PaddlePaddle/PaddleSlim/develop/demo/quant/quant_embedding
/image/before.png"
height=
200
width=
100
hspace=
'10'
/>
<br
/>
<strong>
图1:量化前的模型结构
</strong>
</p>
<p>
量化后:
</p>
<p
align=
"center"
>
<img
src=
"
.
/image/after.png"
height=
300
width=
300
hspace=
'10'
/>
<br
/>
<img
src=
"
https://raw.githubusercontent.com/PaddlePaddle/PaddleSlim/develop/demo/quant/quant_embedding
/image/after.png"
height=
300
width=
300
hspace=
'10'
/>
<br
/>
<strong>
图2: 量化后的模型结构
</strong>
</p>
...
...
tutorials/quant_post_demo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -125,7 +125,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
@@ -181,7 +181,7 @@
<h1
id=
"_1"
>
离线量化示例
<a
class=
"headerlink"
href=
"#_1"
title=
"Permanent link"
>
#
</a></h1>
<p>
本示例介绍如何使用离线量化接口
<code>
paddleslim.quant.quant_post
</code>
来对训练好的分类模型进行离线量化, 该接口无需对模型进行训练就可得到量化模型,减少模型的存储空间和显存占用。
</p>
<h2
id=
"_2"
>
接口介绍
<a
class=
"headerlink"
href=
"#_2"
title=
"Permanent link"
>
#
</a></h2>
<p>
请参考
<a
href=
'../../../paddleslim/quant/quantization_api_doc.md'
>
量化API文档
</a>
。
</p>
<p>
请参考
<a
href=
"https://paddlepaddle.github.io/PaddleSlim/api/quantization_api/"
>
量化API文档
</a>
。
</p>
<h2
id=
"_3"
>
分类模型的离线量化流程
<a
class=
"headerlink"
href=
"#_3"
title=
"Permanent link"
>
#
</a></h2>
<h3
id=
"_4"
>
准备数据
<a
class=
"headerlink"
href=
"#_4"
title=
"Permanent link"
>
#
</a></h3>
<p>
在当前文件夹下创建
<code>
data
</code>
文件夹,将
<code>
imagenet
</code>
数据集解压在
<code>
data
</code>
文件夹下,解压后
<code>
data
</code>
文件夹下应包含以下文件:
...
...
@@ -200,7 +200,7 @@
</td></tr></table>
转化之后的模型存储在
<code>
inference_model/MobileNet/
</code>
文件夹下,可看到该文件夹下有
<code>
'model'
</code>
,
<code>
'weights'
</code>
两个文件。
</p>
<h3
id=
"_7"
>
离线量化
<a
class=
"headerlink"
href=
"#_7"
title=
"Permanent link"
>
#
</a></h3>
<p>
接下来对导出的模型文件进行离线量化,离线量化的脚本为
<a
href=
"
.
/quant_post.py"
>
quant_post.py
</a>
,脚本中使用接口
<code>
paddleslim.quant.quant_post
</code>
对模型进行离线量化。运行命令为:
<p>
接下来对导出的模型文件进行离线量化,离线量化的脚本为
<a
href=
"
https://github.com/PaddlePaddle/PaddleSlim/blob/develop/demo/quant/quant_post
/quant_post.py"
>
quant_post.py
</a>
,脚本中使用接口
<code>
paddleslim.quant.quant_post
</code>
对模型进行离线量化。运行命令为:
<table
class=
"codehilitetable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span>
1
</pre></div></td><td
class=
"code"
><div
class=
"codehilite"
><pre><span></span><span
class=
"n"
>
python
</span>
<span
class=
"n"
>
quant_post
</span><span
class=
"p"
>
.
</span><span
class=
"n"
>
py
</span>
<span
class=
"c1"
>
--model_path ./inference_model/MobileNet --save_path ./quant_model_train/MobileNet --model_filename model --params_filename weights
</span>
</pre></div>
</td></tr></table></p>
...
...
@@ -215,7 +215,7 @@
<p>
使用的量化算法为
<code>
'KL'
</code>
, 使用训练集中的160张图片进行量化参数的校正。
</p>
</blockquote>
<h3
id=
"_8"
>
测试精度
<a
class=
"headerlink"
href=
"#_8"
title=
"Permanent link"
>
#
</a></h3>
<p>
使用
<a
href=
"
.
/eval.py"
>
eval.py
</a>
脚本对量化前后的模型进行测试,得到模型的分类精度进行对比。
</p>
<p>
使用
<a
href=
"
https://github.com/PaddlePaddle/PaddleSlim/blob/develop/demo/quant/quant_post
/eval.py"
>
eval.py
</a>
脚本对量化前后的模型进行测试,得到模型的分类精度进行对比。
</p>
<p>
首先测试量化前的模型的精度,运行以下命令:
<table
class=
"codehilitetable"
><tr><td
class=
"linenos"
><div
class=
"linenodiv"
><pre><span></span>
1
</pre></div></td><td
class=
"code"
><div
class=
"codehilite"
><pre><span></span><span
class=
"n"
>
python
</span>
<span
class=
"n"
>
eval
</span><span
class=
"p"
>
.
</span><span
class=
"n"
>
py
</span>
<span
class=
"c1"
>
--model_path ./inference_model/MobileNet --model_name model --params_name weights
</span>
</pre></div>
...
...
tutorials/sensitivity_demo/index.html
浏览文件 @
8a62b6fe
...
...
@@ -111,7 +111,7 @@
</li>
<li
class=
""
>
<a
class=
""
href=
"../../api/search_space
/
"
>
搜索空间
</a>
<a
class=
""
href=
"../../api/search_space
.md
"
>
搜索空间
</a>
</li>
<li
class=
""
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录