Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
773bf29b
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看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
773bf29b
编写于
5月 04, 2018
作者:
Y
Yancey
提交者:
GitHub
5月 04, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #10377 from Yancey1989/fix_delete_ops
fix delete_ops
上级
8cc91bc0
ea522dab
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
11 addition
and
15 deletion
+11
-15
python/paddle/fluid/distribute_transpiler.py
python/paddle/fluid/distribute_transpiler.py
+11
-4
python/paddle/fluid/framework.py
python/paddle/fluid/framework.py
+0
-11
未找到文件。
python/paddle/fluid/distribute_transpiler.py
浏览文件 @
773bf29b
...
...
@@ -317,8 +317,7 @@ class DistributeTranspiler:
def
get_trainer_program
(
self
):
# remove optimize ops and add a send op to main_program
self
.
origin_program
.
global_block
().
delete_ops
(
self
.
optimize_ops
)
self
.
origin_program
.
sync_with_cpp
()
self
.
delete_ops
(
self
.
origin_program
.
global_block
(),
self
.
optimize_ops
)
# FIXME(typhoonzero): serialize once will fix error occurs when clone.
self
.
origin_program
.
__str__
()
return
self
.
origin_program
...
...
@@ -602,8 +601,7 @@ class DistributeTranspiler:
attrs
=
{
"axis"
:
0
})
# delete lookup_table_op
program
.
global_block
().
delete_ops
([
op
])
program
.
sync_with_cpp
()
self
.
delete_ops
(
program
.
global_block
(),
[
op
])
# break for loop
break
...
...
@@ -1166,3 +1164,12 @@ class DistributeTranspiler:
in_name
.
startswith
(
"beta2_pow_acc"
):
return
True
return
False
def
delete_ops
(
self
,
block
,
ops
):
try
:
start
=
list
(
block
.
ops
).
index
(
ops
[
0
])
end
=
list
(
block
.
ops
).
index
(
ops
[
-
1
])
[
block
.
remove_op
(
start
)
for
_
in
xrange
(
end
-
start
+
1
)]
except
Exception
,
e
:
raise
e
block
.
program
.
sync_with_cpp
()
python/paddle/fluid/framework.py
浏览文件 @
773bf29b
...
...
@@ -848,17 +848,6 @@ class Block(object):
self
.
desc
.
remove_op
(
index
,
index
+
1
)
del
self
.
ops
[
index
]
def
delete_ops
(
self
,
ops
):
# remove from cpp
# FIXME(typhoonzero): remove only the first occurrence.
try
:
start
=
list
(
self
.
ops
).
index
(
ops
[
0
])
end
=
list
(
self
.
ops
).
index
(
ops
[
-
1
])
except
Exception
,
e
:
raise
e
self
.
desc
.
remove_op
(
start
,
end
+
1
)
def
slice_ops
(
self
,
start
,
end
):
return
self
.
ops
[
start
:
end
]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录