Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
bdca4b37
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
bdca4b37
编写于
10月 17, 2017
作者:
Y
Yang Yang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
change api based on design doc
上级
e0cee58c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
9 deletion
+11
-9
paddle/framework/prune.cc
paddle/framework/prune.cc
+4
-2
paddle/framework/prune.h
paddle/framework/prune.h
+1
-1
paddle/framework/prune_test.cc
paddle/framework/prune_test.cc
+6
-6
未找到文件。
paddle/framework/prune.cc
浏览文件 @
bdca4b37
...
...
@@ -46,7 +46,7 @@ bool IsTarget(const OpDesc& op_desc) {
return
false
;
}
void
Prune
(
const
ProgramDesc
&
input
,
ProgramDesc
&
output
,
int
block_id
)
{
void
prune_impl
(
const
ProgramDesc
&
input
,
ProgramDesc
&
output
,
int
block_id
)
{
// TODO(tonyyang-svail):
// - will change to use multiple blocks for RNN op and Cond Op
...
...
@@ -99,8 +99,10 @@ void Prune(const ProgramDesc& input, ProgramDesc& output, int block_id) {
*
op_field
->
Add
()
=
input
.
blocks
(
block_id
).
ops
(
i
);
}
}
}
// return should_run;
void
Prune
(
const
ProgramDesc
&
input
,
ProgramDesc
&
output
)
{
prune_impl
(
input
,
output
,
0
);
}
}
// namespace framework
...
...
paddle/framework/prune.h
浏览文件 @
bdca4b37
...
...
@@ -20,7 +20,7 @@ limitations under the License. */
namespace
paddle
{
namespace
framework
{
void
Prune
(
const
ProgramDesc
&
input
,
ProgramDesc
&
output
,
int
block_id
);
void
Prune
(
const
ProgramDesc
&
input
,
ProgramDesc
&
output
);
}
// namespace framework
}
// namespace paddle
paddle/framework/prune_test.cc
浏览文件 @
bdca4b37
...
...
@@ -68,11 +68,11 @@ TEST(Prune, one_operator) {
f
::
ProgramDesc
*
pdesc
=
program
.
Proto
();
f
::
ProgramDesc
pruned
;
Prune
(
*
pdesc
,
pruned
,
0
);
Prune
(
*
pdesc
,
pruned
);
PADDLE_ENFORCE_EQ
(
pruned
.
blocks
(
0
).
ops_size
(),
0
);
pdesc
->
mutable_blocks
(
0
)
->
mutable_ops
(
0
)
->
set_is_target
(
true
);
Prune
(
*
pdesc
,
pruned
,
0
);
Prune
(
*
pdesc
,
pruned
);
PADDLE_ENFORCE_EQ
(
pruned
.
blocks
(
0
).
ops_size
(),
1
);
}
...
...
@@ -91,7 +91,7 @@ TEST(Prune, forward) {
for
(
int
i
=
0
;
i
<
pdesc
->
blocks
(
0
).
ops_size
();
++
i
)
{
f
::
ProgramDesc
pruned
;
pdesc
->
mutable_blocks
(
0
)
->
mutable_ops
(
i
)
->
set_is_target
(
true
);
Prune
(
*
pdesc
,
pruned
,
0
);
Prune
(
*
pdesc
,
pruned
);
PADDLE_ENFORCE_EQ
(
pruned
.
blocks
(
0
).
ops_size
(),
i
+
1
);
}
}
...
...
@@ -111,7 +111,7 @@ TEST(Prune, multi_input_op) {
pdesc
->
mutable_blocks
(
0
)
->
mutable_ops
(
3
)
->
set_is_target
(
true
);
f
::
ProgramDesc
pruned
;
Prune
(
*
pdesc
,
pruned
,
0
);
Prune
(
*
pdesc
,
pruned
);
PADDLE_ENFORCE_EQ
(
pruned
.
blocks
(
0
).
ops_size
(),
4
);
}
...
...
@@ -128,7 +128,7 @@ TEST(Prune, multi_output_op) {
pdesc
->
mutable_blocks
(
0
)
->
mutable_ops
(
2
)
->
set_is_target
(
true
);
f
::
ProgramDesc
pruned
;
Prune
(
*
pdesc
,
pruned
,
0
);
Prune
(
*
pdesc
,
pruned
);
PADDLE_ENFORCE_EQ
(
pruned
.
blocks
(
0
).
ops_size
(),
2
);
}
...
...
@@ -146,6 +146,6 @@ TEST(Prune, multi_target) {
pdesc
->
mutable_blocks
(
0
)
->
mutable_ops
(
2
)
->
set_is_target
(
true
);
f
::
ProgramDesc
pruned
;
Prune
(
*
pdesc
,
pruned
,
0
);
Prune
(
*
pdesc
,
pruned
);
PADDLE_ENFORCE_EQ
(
pruned
.
blocks
(
0
).
ops_size
(),
3
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录