Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleSlim
提交
da29a449
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看板
提交
da29a449
编写于
1月 22, 2020
作者:
C
ceci3
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Deployed
648978cd
with MkDocs version: 1.0.4
上级
23e5dafc
变更
13
展开全部
隐藏空白更改
内联
并排
Showing
13 changed file
with
114 addition
and
113 deletion
+114
-113
api/analysis_api/index.html
api/analysis_api/index.html
+12
-12
api/nas_api/index.html
api/nas_api/index.html
+9
-9
api/prune_api/index.html
api/prune_api/index.html
+21
-21
api/quantization_api/index.html
api/quantization_api/index.html
+21
-21
api/single_distiller_api/index.html
api/single_distiller_api/index.html
+15
-15
index.html
index.html
+1
-1
search/search_index.json
search/search_index.json
+1
-1
search_space/index.html
search_space/index.html
+8
-8
sitemap.xml.gz
sitemap.xml.gz
+0
-0
tutorials/distillation_demo/index.html
tutorials/distillation_demo/index.html
+7
-7
tutorials/nas_demo/index.html
tutorials/nas_demo/index.html
+11
-10
tutorials/pruning_demo/index.html
tutorials/pruning_demo/index.html
+1
-1
tutorials/quant_aware_demo/index.html
tutorials/quant_aware_demo/index.html
+7
-7
未找到文件。
api/analysis_api/index.html
浏览文件 @
da29a449
...
...
@@ -206,7 +206,7 @@
</li>
</ul>
<p><strong>
示例:
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddle.fluid.param_attr
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
ParamAttr
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.analysis
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
flops
</span>
...
...
@@ -216,7 +216,7 @@
<span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
groups
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span>
<span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
num_filters
</span><span
class=
"p"
>
,
</span>
...
...
@@ -224,9 +224,9 @@
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
filter_size
</span>
<span
class=
"o"
>
-
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
//
</span>
<span
class=
"mi"
>
2
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
groups
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
groups
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
param_attr
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
ParamAttr
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s2"
>
"
_weights
"
</span><span
class=
"p"
>
),
</span>
<span
class=
"n"
>
bias_attr
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
bias_attr
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s2"
>
"
_out
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
bn_name
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s2"
>
"
_bn
"
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
batch_norm
</span><span
class=
"p"
>
(
</span>
...
...
@@ -248,7 +248,7 @@
<span
class=
"c1"
>
# X: prune output channels
</span>
<span
class=
"c1"
>
# O: prune input channels
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
main_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
startup_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
image
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
])
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
image
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
])
</span>
<span
class=
"n"
>
conv1
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv1
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
conv2
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv2
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
sum1
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv1
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"n"
>
conv2
</span>
...
...
@@ -258,7 +258,7 @@
<span
class=
"n"
>
conv5
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
sum2
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv5
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
conv6
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv5
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv6
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"
nb"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
FLOPs:
</span><span
class=
"si"
>
{}
</span><span
class=
"s2"
>
"
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
flops
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
main_program
</span><span
class=
"p"
>
)))
</span>
<span
class=
"
k"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
FLOPs: {}
"
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
flops
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
main_program
</span><span
class=
"p"
>
)))
</span>
</pre></div>
<h2
id=
"model_size"
>
model_size
<a
class=
"headerlink"
href=
"#model_size"
title=
"Permanent link"
>
#
</a></h2>
...
...
@@ -273,7 +273,7 @@
<li><strong>
model_size(int)
</strong>
- 整个网络的参数数量。
</li>
</ul>
<p><strong>
示例:
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddle.fluid.param_attr
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
ParamAttr
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.analysis
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
model_size
</span>
...
...
@@ -283,7 +283,7 @@
<span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
groups
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span>
<span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
num_filters
</span><span
class=
"p"
>
,
</span>
...
...
@@ -291,9 +291,9 @@
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
filter_size
</span>
<span
class=
"o"
>
-
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"o"
>
//
</span>
<span
class=
"mi"
>
2
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
groups
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
groups
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
param_attr
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
ParamAttr
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s2"
>
"
_weights
"
</span><span
class=
"p"
>
),
</span>
<span
class=
"n"
>
bias_attr
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
bias_attr
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s2"
>
"
_out
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"n"
>
conv
</span>
...
...
@@ -307,7 +307,7 @@
<span
class=
"c1"
>
# X: prune output channels
</span>
<span
class=
"c1"
>
# O: prune input channels
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
main_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
startup_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
image
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
])
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
image
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
16
</span><span
class=
"p"
>
])
</span>
<span
class=
"n"
>
conv1
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_layer
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv1
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
conv2
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_layer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv2
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
sum1
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv1
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"n"
>
conv2
</span>
...
...
@@ -317,7 +317,7 @@
<span
class=
"n"
>
conv5
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_layer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
sum2
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv5
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
conv6
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
conv_layer
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv5
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
8
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"s2"
>
"
conv6
"
</span><span
class=
"p"
>
)
</span>
<span
class=
"
nb"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
FLOPs:
</span><span
class=
"si"
>
{}
</span><span
class=
"s2"
>
"
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
model_size
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
main_program
</span><span
class=
"p"
>
)))
</span>
<span
class=
"
k"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
FLOPs: {}
"
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
model_size
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
main_program
</span><span
class=
"p"
>
)))
</span>
</pre></div>
<h2
id=
"tablelatencyevaluator"
>
TableLatencyEvaluator
<a
class=
"headerlink"
href=
"#tablelatencyevaluator"
title=
"Permanent link"
>
#
</a></h2>
...
...
api/nas_api/index.html
浏览文件 @
da29a449
...
...
@@ -236,16 +236,16 @@
<p><strong>
返回:
</strong>
返回模型结构实例的列表,形式为list。
</p>
<p><strong>
示例代码:
</strong>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.nas
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
SANAS
</span>
<span
class=
"n"
>
config
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[(
</span><span
class=
"s1"
>
'
MobileNetV2Space
'
</span><span
class=
"p"
>
)]
</span>
<span
class=
"n"
>
sanas
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
SANAS
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
configs
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
config
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
input
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
input
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
archs
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
sanas
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
next_archs
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
arch
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
archs
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
output
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
arch
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
output
</span>
<span
class=
"
nb
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
output
</span><span
class=
"p"
>
)
</span>
<span
class=
"
k
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
output
</span><span
class=
"p"
>
)
</span>
</pre></div></p>
<dl>
<dt>
paddleslim.nas.SANAS.reward(score)
</dt>
...
...
@@ -258,7 +258,7 @@
<p><strong>
返回:
</strong>
模型结构更新成功或者失败,成功则返回
<code>
True
</code>
,失败则返回
<code>
False
</code>
。
</p>
<p><strong>
示例代码:
</strong>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.nas
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
SANAS
</span>
<span
class=
"n"
>
config
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[(
</span><span
class=
"s1"
>
'
MobileNetV2Space
'
</span><span
class=
"p"
>
)]
</span>
<span
class=
"n"
>
sanas
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
SANAS
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
configs
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
config
</span><span
class=
"p"
>
)
</span>
...
...
@@ -279,14 +279,14 @@
<p><strong>
返回:
</strong>
根据传入的token得到一个模型结构实例。
</p>
<p><strong>
示例代码:
</strong>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.nas
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
SANAS
</span>
<span
class=
"n"
>
config
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[(
</span><span
class=
"s1"
>
'
MobileNetV2Space
'
</span><span
class=
"p"
>
)]
</span>
<span
class=
"n"
>
sanas
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
SANAS
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
configs
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
config
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
input
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
input
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
tokens
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
([
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
*
</span>
<span
class=
"mi"
>
25
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
archs
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
sanas
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
tokens2arch
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
tokens
</span><span
class=
"p"
>
)[
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
]
</span>
<span
class=
"
nb
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
archs
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
))
</span>
<span
class=
"
k
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
archs
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
))
</span>
</pre></div></p>
<dl>
<dt>
paddleslim.nas.SANAS.current_info()
</dt>
...
...
@@ -295,11 +295,11 @@
<p><strong>
返回:
</strong>
搜索过程中最好的token,reward和当前训练的token,形式为dict。
</p>
<p><strong>
示例代码:
</strong>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.nas
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
SANAS
</span>
<span
class=
"n"
>
config
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[(
</span><span
class=
"s1"
>
'
MobileNetV2Space
'
</span><span
class=
"p"
>
)]
</span>
<span
class=
"n"
>
sanas
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
SANAS
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
configs
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
config
</span><span
class=
"p"
>
)
</span>
<span
class=
"
nb
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
sanas
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
current_info
</span><span
class=
"p"
>
())
</span>
<span
class=
"
k
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
sanas
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
current_info
</span><span
class=
"p"
>
())
</span>
</pre></div></p>
</div>
...
...
api/prune_api/index.html
浏览文件 @
da29a449
此差异已折叠。
点击以展开。
api/quantization_api/index.html
浏览文件 @
da29a449
...
...
@@ -219,9 +219,9 @@
<span
class=
"c1"
>
# The decay coefficient of moving average, default is 0.9
</span>
<span
class=
"s1"
>
'
moving_rate
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"mf"
>
0.9
</span><span
class=
"p"
>
,
</span>
<span
class=
"c1"
>
# if True,
'
quantize_op_types
'
will be TENSORRT_OP_TYPES
</span>
<span
class=
"s1"
>
'
for_tensorrt
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"
kc
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"s1"
>
'
for_tensorrt
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"
bp
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"c1"
>
# if True,
'
quantoze_op_types
'
will be TRANSFORM_PASS_OP_TYPES + QUANT_DEQUANT_PASS_OP_TYPES
</span>
<span
class=
"s1"
>
'
is_full_quantize
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"s1"
>
'
is_full_quantize
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"p"
>
}
</span>
</pre></div>
...
...
@@ -300,36 +300,36 @@
<p>
因为该接口会对
<code>
op
</code>
和
<code>
Variable
</code>
做相应的删除和修改,所以此接口只能在训练完成之后调用。如果想转化训练的中间模型,可加载相应的参数之后再使用此接口。
</p>
<p><strong>
代码示例
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"c1"
>
#encoding=utf8
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.quant
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
quant
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.quant
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
quant
</span>
<span
class=
"n"
>
train_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
train_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
image
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
])
</span>
<span
class=
"n"
>
label
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
label
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
image
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
])
</span>
<span
class=
"n"
>
label
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
label
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
image
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
feat
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
fc
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
10
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
softmax
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
cost
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
cross_entropy
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
feat
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
label
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
label
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
avg_cost
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
mean
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
x
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
cost
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
True
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
True
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
exe
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Executor
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
exe
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
run
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
default_startup_program
</span><span
class=
"p"
>
())
</span>
<span
class=
"n"
>
eval_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
train_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
clone
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
eval_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
train_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
clone
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"c1"
>
#配置
</span>
<span
class=
"n"
>
config
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
{
</span><span
class=
"s1"
>
'
weight_quantize_type
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"s1"
>
'
abs_max
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"s1"
>
'
activation_quantize_type
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"s1"
>
'
moving_average_abs_max
'
</span><span
class=
"p"
>
}
</span>
<span
class=
"n"
>
build_strategy
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
BuildStrategy
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
exec_strategy
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
ExecutionStrategy
</span><span
class=
"p"
>
()
</span>
<span
class=
"c1"
>
#调用api
</span>
<span
class=
"hll"
><span
class=
"n"
>
quant_train_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
train_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
False
</span><span
class=
"p"
>
)
</span>
</span><span
class=
"hll"
><span
class=
"n"
>
quant_eval_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
eval_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"hll"
><span
class=
"n"
>
quant_train_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
train_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
False
</span><span
class=
"p"
>
)
</span>
</span><span
class=
"hll"
><span
class=
"n"
>
quant_eval_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
eval_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
True
</span><span
class=
"p"
>
)
</span>
</span><span
class=
"c1"
>
#关闭策略
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
fuse_all_reduce_ops
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
sync_batch_norm
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
fuse_all_reduce_ops
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
sync_batch_norm
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
quant_train_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant_train_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
with_data_parallel
</span><span
class=
"p"
>
(
</span>
<span
class=
"n"
>
loss_name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
avg_cost
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
build_strategy
</span><span
class=
"p"
>
,
</span>
...
...
@@ -376,11 +376,11 @@
<blockquote>
<p>
注: 此示例不能直接运行,因为需要加载
<code>
${model_dir}
</code>
下的模型,所以不能直接运行。
</p>
</blockquote>
<p><div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.dataset.mnist
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
reader
</span>
<p><div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.dataset.mnist
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
reader
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.quant
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
quant_post
</span>
<span
class=
"n"
>
val_reader
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
reader
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
train
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
True
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
True
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
exe
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Executor
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
...
...
@@ -419,22 +419,22 @@
<p><strong>
返回类型
</strong></p>
<p><code>
fluid.Program
</code></p>
<p><strong>
代码示例
</strong>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.quant
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
quant
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.quant
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
quant
</span>
<span
class=
"n"
>
train_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
train_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
input_word
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
input_word
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
input_word
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s2"
>
"
input_word
"
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
input_emb
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
embedding
</span><span
class=
"p"
>
(
</span>
<span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
input_word
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
is_sparse
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
is_sparse
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
False
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
size
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
100
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
128
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
param_attr
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
ParamAttr
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
emb
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
initializer
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
initializer
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Uniform
</span><span
class=
"p"
>
(
</span><span
class=
"o"
>
-
</span><span
class=
"mf"
>
0.005
</span><span
class=
"p"
>
,
</span>
<span
class=
"mf"
>
0.005
</span><span
class=
"p"
>
)))
</span>
<span
class=
"n"
>
infer_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
train_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
clone
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
infer_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
train_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
clone
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
True
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
True
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
use_gpu
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
exe
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Executor
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
exe
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
run
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
default_startup_program
</span><span
class=
"p"
>
())
</span>
...
...
api/single_distiller_api/index.html
浏览文件 @
da29a449
...
...
@@ -205,8 +205,8 @@
<p><em>
data_name_map
</em>
是
<strong>
teacher_var name到student_var name的映射
</strong>
,如果写反可能无法正确进行merge
</p>
</div>
<p><strong>
使用示例:
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<span
class=
"n"
>
student_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
x
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
])
</span>
...
...
@@ -219,7 +219,7 @@
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
64
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
data_name_map
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
{
</span><span
class=
"s1"
>
'
y
'
</span><span
class=
"p"
>
:
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
}
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"hll"
><span
class=
"n"
>
dist
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
merge
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
student_program
</span><span
class=
"p"
>
,
</span>
</span><span
class=
"hll"
>
<span
class=
"n"
>
data_name_map
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
...
...
@@ -242,8 +242,8 @@
</ul>
<p><strong>
返回:
</strong>
由teacher_var1, teacher_var2, student_var1, student_var2组合得到的fsp_loss
</p>
<p><strong>
使用示例:
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<span
class=
"n"
>
student_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
x
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
])
</span>
...
...
@@ -256,7 +256,7 @@
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
64
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
t2
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
data_name_map
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
{
</span><span
class=
"s1"
>
'
y
'
</span><span
class=
"p"
>
:
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
}
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
dist
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
merge
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
student_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
data_name_map
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
...
...
@@ -279,8 +279,8 @@
</ul>
<p><strong>
返回:
</strong>
由teacher_var, student_var组合得到的l2_loss
</p>
<p><strong>
使用示例:
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<span
class=
"n"
>
student_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
x
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
])
</span>
...
...
@@ -293,7 +293,7 @@
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
64
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
t2
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
data_name_map
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
{
</span><span
class=
"s1"
>
'
y
'
</span><span
class=
"p"
>
:
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
}
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
dist
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
merge
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
student_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
data_name_map
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
...
...
@@ -318,8 +318,8 @@
</ul>
<p><strong>
返回:
</strong>
由teacher_var, student_var组合得到的soft_label_loss
</p>
<p><strong>
使用示例:
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<span
class=
"n"
>
student_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
x
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
])
</span>
...
...
@@ -332,7 +332,7 @@
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
64
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
t2
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
data_name_map
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
{
</span><span
class=
"s1"
>
'
y
'
</span><span
class=
"p"
>
:
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
}
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
dist
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
merge
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
student_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
data_name_map
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
...
...
@@ -355,8 +355,8 @@
</ul>
<p><strong>
返回
</strong>
:自定义的损失函数loss
</p>
<p><strong>
使用示例:
</strong></p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddleslim.dist
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
dist
</span>
<span
class=
"n"
>
student_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
x
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
28
</span><span
class=
"p"
>
])
</span>
...
...
@@ -369,7 +369,7 @@
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
64
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
t2
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
data_name_map
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
{
</span><span
class=
"s1"
>
'
y
'
</span><span
class=
"p"
>
:
</span><span
class=
"s1"
>
'
x
'
</span><span
class=
"p"
>
}
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
place
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CUDAPlace
</span><span
class=
"p"
>
(
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
USE_GPU
</span>
<span
class=
"k"
>
else
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
CPUPlace
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
dist
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
merge
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
student_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
data_name_map
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
adaptation_loss
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
t_var
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
s_var
</span><span
class=
"p"
>
):
</span>
...
...
index.html
浏览文件 @
da29a449
...
...
@@ -290,5 +290,5 @@ python setup.py install
<!--
MkDocs version : 1.0.4
Build Date UTC : 2020-01-22 0
8:35:11
Build Date UTC : 2020-01-22 0
9:09:49
-->
search/search_index.json
浏览文件 @
da29a449
此差异已折叠。
点击以展开。
search_space/index.html
浏览文件 @
da29a449
...
...
@@ -247,10 +247,10 @@
<div
class=
"codehilite"
><pre><span></span><span
class=
"c1"
>
### 引入搜索空间基类函数和search space的注册类函数
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
.search_space_base
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
SearchSpaceBase
</span>
<span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
.search_space_registry
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
SEARCHSPACE
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
numpy
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
np
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
numpy
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
np
</span>
<span
class=
"c1"
>
### 需要调用注册函数把自定义搜索空间注册到space space中
</span>
<span
class=
"nd"
>
@SEARCHSPACE
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
register
</span>
<span
class=
"nd"
>
@SEARCHSPACE
.
register
</span>
<span
class=
"c1"
>
### 定义一个继承SearchSpaceBase基类的搜索空间的类函数
</span>
<span
class=
"k"
>
class
</span>
<span
class=
"nc"
>
ResNetBlockSpace2
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
SearchSpaceBase
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"fm"
>
__init__
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
input_size
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
output_size
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
block_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
block_mask
</span><span
class=
"p"
>
):
</span>
...
...
@@ -267,8 +267,8 @@
<span
class=
"k"
>
return
</span>
<span
class=
"p"
>
[
</span><span
class=
"nb"
>
len
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
filter_num
</span><span
class=
"p"
>
)]
</span>
<span
class=
"o"
>
*
</span>
<span
class=
"mi"
>
3
</span>
<span
class=
"o"
>
*
</span>
<span
class=
"nb"
>
len
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
block_mask
</span><span
class=
"p"
>
)
</span>
<span
class=
"c1"
>
### 把token转换成模型结构
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
token2arch
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
tokens
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
tokens
</span>
<span
class=
"o"
>
==
</span>
<span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
token2arch
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
tokens
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
tokens
</span>
<span
class=
"o"
>
==
</span>
<span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
tokens
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
init_tokens
</span><span
class=
"p"
>
()
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
bottleneck_params_list
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[]
</span>
...
...
@@ -281,28 +281,28 @@
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
net_arch
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
i
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
layer_setting
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"nb"
>
enumerate
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
bottleneck_params_list
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
layer_setting
</span><span
class=
"p"
>
[:
</span><span
class=
"o"
>
-
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
layer_setting
</span><span
class=
"p"
>
[
</span><span
class=
"o"
>
-
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
]
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
_resnet_block
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
resnet_layer
</span><span
class=
"si"
>
{}
</span><span
class=
"s1"
>
'
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
i
</span><span
class=
"o"
>
+
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
))
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
_resnet_block
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
resnet_layer
{}
'
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
i
</span><span
class=
"o"
>
+
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
))
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"n"
>
net_arch
</span>
<span
class=
"c1"
>
### 构造具体block的操作
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
_resnet_block
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
_resnet_block
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
shortcut_conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
_shortcut
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
2
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
_conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
filter_size
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
relu
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s1"
>
'
_conv0
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
_conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
filter_size
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
relu
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s1"
>
'
_conv1
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
_conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
2
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
filter_size
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"s1"
>
'
_conv2
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
elementwise_add
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
x
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
shortcut_conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
y
</span><span
class=
"o"
>
=
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
axis
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
0
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
+
</span><span
class=
"s1"
>
'
_elementwise_add
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
_shortcut
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
_shortcut
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
channel_in
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"nb"
>
input
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
shape
</span><span
class=
"p"
>
[
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
]
</span>
<span
class=
"k"
>
if
</span>
<span
class=
"n"
>
channel_in
</span>
<span
class=
"o"
>
!=
</span>
<span
class=
"n"
>
channel_num
</span>
<span
class=
"ow"
>
or
</span>
<span
class=
"n"
>
stride
</span>
<span
class=
"o"
>
!=
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"bp"
>
self
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
channel_num
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
filter_size
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
+
</span><span
class=
"s1"
>
'
_shortcut
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
else
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"nb"
>
input
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
_conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
filter_size
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
SAME
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"kc
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
def
</span>
<span
class=
"nf"
>
_conv_bn_layer
</span><span
class=
"p"
>
(
</span><span
class=
"bp"
>
self
</span><span
class=
"p"
>
,
</span>
<span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
filter_size
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
padding
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
SAME
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"
bp"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"bp
"
>
None
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
conv
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
conv2d
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
num_filters
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
filter_size
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
stride
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
+
</span><span
class=
"s1"
>
'
_conv
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
bn
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
batch_norm
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
conv
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
act
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
act
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
+
</span><span
class=
"s1"
>
'
_bn
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
return
</span>
<span
class=
"n"
>
bn
</span>
...
...
sitemap.xml.gz
浏览文件 @
da29a449
无法预览此类型文件
tutorials/distillation_demo/index.html
浏览文件 @
da29a449
...
...
@@ -199,8 +199,8 @@
<span
class=
"n"
>
student_startup
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
student_startup
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
image
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
image
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"p"
>
[
</span><span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
label
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
label
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
image
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"p"
>
[
</span><span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
label
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
label
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"c1"
>
# student model definition
</span>
<span
class=
"n"
>
model
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
MobileNet
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
model
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
net
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
image
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
class_dim
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1000
</span><span
class=
"p"
>
)
</span>
...
...
@@ -216,7 +216,7 @@
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
teacher_startup
</span><span
class=
"p"
>
):
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
unique_name
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
guard
</span><span
class=
"p"
>
():
</span>
<span
class=
"n"
>
image
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
data
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"p"
>
[
</span><span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
data
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
]
</span>
<span
class=
"o"
>
+
</span>
<span
class=
"p"
>
[
</span><span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
224
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"c1"
>
# teacher model definition
</span>
<span
class=
"n"
>
teacher_model
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
ResNet
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
predict
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
teacher_model
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
net
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
image
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
class_dim
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1000
</span><span
class=
"p"
>
)
</span>
...
...
@@ -240,8 +240,8 @@
<span
class=
"n"
>
student_vars
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
append
</span><span
class=
"p"
>
((
</span><span
class=
"n"
>
v
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
v
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
shape
</span><span
class=
"p"
>
))
</span>
<span
class=
"k"
>
except
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
pass
</span>
<span
class=
"
nb
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
student_model_vars
"
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"p"
>
)
</span>
<span
class=
"
nb
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_vars
</span><span
class=
"p"
>
)
</span>
<span
class=
"
k
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
student_model_vars
"
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"p"
>
)
</span>
<span
class=
"
k
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
student_vars
</span><span
class=
"p"
>
)
</span>
<span
class=
"c1"
>
# get all teacher variables
</span>
<span
class=
"n"
>
teacher_vars
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"p"
>
[]
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
v
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
teacher_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
list_vars
</span><span
class=
"p"
>
():
</span>
...
...
@@ -249,8 +249,8 @@
<span
class=
"n"
>
teacher_vars
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
append
</span><span
class=
"p"
>
((
</span><span
class=
"n"
>
v
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
v
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
shape
</span><span
class=
"p"
>
))
</span>
<span
class=
"k"
>
except
</span><span
class=
"p"
>
:
</span>
<span
class=
"k"
>
pass
</span>
<span
class=
"
nb
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
teacher_model_vars
"
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"p"
>
)
</span>
<span
class=
"
nb
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_vars
</span><span
class=
"p"
>
)
</span>
<span
class=
"
k
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
teacher_model_vars
"
</span><span
class=
"o"
>
+
</span><span
class=
"s2"
>
"
=
"
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
50
</span><span
class=
"p"
>
)
</span>
<span
class=
"
k
"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
teacher_vars
</span><span
class=
"p"
>
)
</span>
</pre></div>
<h3
id=
"4-programmerge"
>
4. 合并Program(merge)
<a
class=
"headerlink"
href=
"#4-programmerge"
title=
"Permanent link"
>
#
</a></h3>
...
...
tutorials/nas_demo/index.html
浏览文件 @
da29a449
...
...
@@ -180,11 +180,12 @@
<h1
id=
"_1"
>
网络结构搜索示例
<a
class=
"headerlink"
href=
"#_1"
title=
"Permanent link"
>
#
</a></h1>
<p>
本示例介绍如何使用网络结构搜索接口,搜索到一个更小或者精度更高的模型,该文档仅介绍paddleslim中SANAS的使用及如何利用SANAS得到模型结构,完整示例代码请参考sa_nas_mobilenetv2.py或者block_sa_nas_mobilenetv2.py。
</p>
<h2
id=
"_2"
>
接口介绍
<a
class=
"headerlink"
href=
"#_2"
title=
"Permanent link"
>
#
</a></h2>
<p>
请参考
<a
href=
'../api/nas_api.md'
>
神经网络搜索API介绍
</a>
。
</p>
<p>
请参考
<a
href=
"https://paddlepaddle.github.io/PaddleSlim/api/nas_api/"
>
神经网络搜索API介绍
</a>
。
</p>
<h3
id=
"1"
>
1. 配置搜索空间
<a
class=
"headerlink"
href=
"#1"
title=
"Permanent link"
>
#
</a></h3>
<p>
详细的搜索空间配置可以参考
<a
href=
'../search_space.md'
>
搜索空间
</a>
。
<div
class=
"codehilite"
><pre><span></span><span
class=
"err"
>
config = [(
'
MobileNetV2Space
'
)]
</span>
</pre></div></p>
<p>
详细的搜索空间配置可以参考
<a
href=
"https://paddlepaddle.github.io/PaddleSlim/search_space/"
>
搜索空间介绍
</a>
。
</p>
<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>
<h3
id=
"2-sanas"
>
2. 利用搜索空间初始化SANAS实例
<a
class=
"headerlink"
href=
"#2-sanas"
title=
"Permanent link"
>
#
</a></h3>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
from
</span>
<span
class=
"nn"
>
paddleslim.nas
</span>
<span
class=
"kn"
>
import
</span>
<span
class=
"n"
>
SANAS
</span>
...
...
@@ -194,7 +195,7 @@
<span
class=
"n"
>
init_temperature
</span><span
class=
"o"
>
=
</span><span
class=
"mf"
>
10.24
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
reduce_rate
</span><span
class=
"o"
>
=
</span><span
class=
"mf"
>
0.85
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
search_steps
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
300
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
is_server
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
is_server
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
True
</span><span
class=
"p"
>
)
</span>
</pre></div>
<h3
id=
"3-nas"
>
3. 根据实例化的NAS得到当前的网络结构
<a
class=
"headerlink"
href=
"#3-nas"
title=
"Permanent link"
>
#
</a></h3>
...
...
@@ -202,24 +203,24 @@
</pre></div>
<h3
id=
"4-program"
>
4. 根据得到的网络结构和输入构造训练和测试program
<a
class=
"headerlink"
href=
"#4-program"
title=
"Permanent link"
>
#
</a></h3>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"kn"
>
import
</span>
<span
class=
"nn"
>
paddle.fluid
</span>
<span
class=
"k
n
"
>
as
</span>
<span
class=
"nn"
>
fluid
</span>
<span
class=
"n"
>
train_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
test_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
startup_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
Program
</span><span
class=
"p"
>
()
</span>
<span
class=
"k"
>
with
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
program_guard
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
train_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
startup_program
</span><span
class=
"p"
>
):
</span>
<span
class=
"n"
>
data
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
data
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
label
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
label
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
data
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
data
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
3
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
32
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
float32
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
label
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
name
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
label
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
shape
</span><span
class=
"o"
>
=
</span><span
class=
"p"
>
[
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
1
</span><span
class=
"p"
>
],
</span>
<span
class=
"n"
>
dtype
</span><span
class=
"o"
>
=
</span><span
class=
"s1"
>
'
int64
'
</span><span
class=
"p"
>
)
</span>
<span
class=
"k"
>
for
</span>
<span
class=
"n"
>
arch
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
archs
</span><span
class=
"p"
>
:
</span>
<span
class=
"n"
>
data
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
arch
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
output
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
fc
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
data
</span><span
class=
"p"
>
,
</span>
<span
class=
"mi"
>
10
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
softmax_out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
softmax
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
output
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
use_cudnn
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
False
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
softmax_out
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
softmax
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
output
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
use_cudnn
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
False
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
cost
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
cross_entropy
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
softmax_out
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
label
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
label
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
avg_cost
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
mean
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
cost
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
acc_top1
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
layers
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
accuracy
</span><span
class=
"p"
>
(
</span><span
class=
"nb"
>
input
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
softmax_out
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
label
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
label
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
k
</span><span
class=
"o"
>
=
</span><span
class=
"mi"
>
1
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
test_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
train_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
clone
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
test_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
train_program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
clone
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
sgd
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
optimizer
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
SGD
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
learning_rate
</span><span
class=
"o"
>
=
</span><span
class=
"mf"
>
1e-3
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
sgd
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
minimize
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
avg_cost
</span><span
class=
"p"
>
)
</span>
</pre></div>
...
...
tutorials/pruning_demo/index.html
浏览文件 @
da29a449
...
...
@@ -175,7 +175,7 @@
<h2
id=
"_3"
>
确定待裁参数
<a
class=
"headerlink"
href=
"#_3"
title=
"Permanent link"
>
#
</a></h2>
<p>
不同模型的参数命名不同,在剪裁前需要确定待裁卷积层的参数名称。可通过以下方法列出所有参数名:
</p>
<div
class=
"codehilite"
><pre><span></span><span
class=
"k"
>
for
</span>
<span
class=
"n"
>
param
</span>
<span
class=
"ow"
>
in
</span>
<span
class=
"n"
>
program
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
global_block
</span><span
class=
"p"
>
()
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
all_parameters
</span><span
class=
"p"
>
():
</span>
<span
class=
"
nb"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
param name:
</span><span
class=
"si"
>
{}
</span><span
class=
"s2"
>
; shape:
</span><span
class=
"si"
>
{}
</span><span
class=
"s2"
>
"
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
param
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
param
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
shape
</span><span
class=
"p"
>
))
</span>
<span
class=
"
k"
>
print
</span><span
class=
"p"
>
(
</span><span
class=
"s2"
>
"
param name: {}; shape: {}
"
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
format
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
param
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
param
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
shape
</span><span
class=
"p"
>
))
</span>
</pre></div>
<p>
在
<code>
train.py
</code>
脚本中,提供了
<code>
get_pruned_params
</code>
方法,根据用户设置的选项
<code>
--model
</code>
确定要裁剪的参数。
</p>
...
...
tutorials/quant_aware_demo/index.html
浏览文件 @
da29a449
...
...
@@ -195,20 +195,20 @@
<span
class=
"s1"
>
'
dtype
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"s1"
>
'
int8
'
</span><span
class=
"p"
>
,
</span>
<span
class=
"s1"
>
'
window_size
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"mi"
>
10000
</span><span
class=
"p"
>
,
</span>
<span
class=
"s1"
>
'
moving_rate
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"mf"
>
0.9
</span><span
class=
"p"
>
,
</span>
<span
class=
"s1"
>
'
quant_weight_only
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"s1"
>
'
quant_weight_only
'
</span><span
class=
"p"
>
:
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"p"
>
}
</span>
</pre></div>
<h3
id=
"2-programop"
>
2. 对训练和测试program插入可训练量化op
<a
class=
"headerlink"
href=
"#2-programop"
title=
"Permanent link"
>
#
</a></h3>
<div
class=
"codehilite"
><pre><span></span><span
class=
"n"
>
val_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
val_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
quant_config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
scope
</span><span
class=
"o"
>
=
</span><span
class=
"
kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"kc
"
>
True
</span><span
class=
"p"
>
)
</span>
<div
class=
"codehilite"
><pre><span></span><span
class=
"n"
>
val_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
val_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
quant_config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
scope
</span><span
class=
"o"
>
=
</span><span
class=
"
bp"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"bp
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
compiled_train_prog
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
train_prog
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
quant_config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
scope
</span><span
class=
"o"
>
=
</span><span
class=
"
kc"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"kc
"
>
False
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
compiled_train_prog
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
quant_aware
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
train_prog
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
quant_config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
scope
</span><span
class=
"o"
>
=
</span><span
class=
"
bp"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
for_test
</span><span
class=
"o"
>
=
</span><span
class=
"bp
"
>
False
</span><span
class=
"p"
>
)
</span>
</pre></div>
<h3
id=
"3build"
>
3.关掉指定build策略
<a
class=
"headerlink"
href=
"#3build"
title=
"Permanent link"
>
#
</a></h3>
<div
class=
"codehilite"
><pre><span></span><span
class=
"n"
>
build_strategy
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
BuildStrategy
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
fuse_all_reduce_ops
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
sync_batch_norm
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
kc
"
>
False
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
fuse_all_reduce_ops
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
build_strategy
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
sync_batch_norm
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"
bp
"
>
False
</span>
<span
class=
"n"
>
exec_strategy
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
fluid
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
ExecutionStrategy
</span><span
class=
"p"
>
()
</span>
<span
class=
"n"
>
compiled_train_prog
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
compiled_train_prog
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
with_data_parallel
</span><span
class=
"p"
>
(
</span>
<span
class=
"n"
>
loss_name
</span><span
class=
"o"
>
=
</span><span
class=
"n"
>
avg_cost
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
name
</span><span
class=
"p"
>
,
</span>
...
...
@@ -220,8 +220,8 @@
<div
class=
"codehilite"
><pre><span></span><span
class=
"n"
>
float_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
int8_program
</span>
<span
class=
"o"
>
=
</span>
<span
class=
"n"
>
convert
</span><span
class=
"p"
>
(
</span><span
class=
"n"
>
val_program
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
place
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
quant_config
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
scope
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_int8
</span><span
class=
"o"
>
=
</span><span
class=
"
kc
"
>
True
</span><span
class=
"p"
>
)
</span>
<span
class=
"n"
>
scope
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
None
</span><span
class=
"p"
>
,
</span>
<span
class=
"n"
>
save_int8
</span><span
class=
"o"
>
=
</span><span
class=
"
bp
"
>
True
</span><span
class=
"p"
>
)
</span>
</pre></div>
<h3
id=
"5"
>
5.保存预测模型
<a
class=
"headerlink"
href=
"#5"
title=
"Permanent link"
>
#
</a></h3>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录