Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
a922a0a1
P
Paddle
项目概览
BaiXuePrincess
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a922a0a1
编写于
2月 26, 2019
作者:
D
dzhwinter
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix default value. test=develop
上级
6477b443
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
15 addition
and
15 deletion
+15
-15
python/paddle/fluid/tests/unittests/ir_memory_optimize_net_base.py
...ddle/fluid/tests/unittests/ir_memory_optimize_net_base.py
+15
-15
未找到文件。
python/paddle/fluid/tests/unittests/ir_memory_optimize_net_base.py
浏览文件 @
a922a0a1
...
...
@@ -19,6 +19,7 @@ import unittest
import
time
import
math
import
multiprocessing
import
numpy
as
np
import
paddle
import
paddle.fluid.core
as
core
...
...
@@ -63,18 +64,18 @@ class BuildIrMemOptBase(unittest.TestCase):
label
=
fluid
.
layers
.
data
(
name
=
"label"
,
shape
=
[
1
],
dtype
=
"int64"
)
cost
=
network
(
data
,
label
,
len
(
word_dict
))
optimizer
=
fluid
.
optimizer
.
Adam
(
learning_rate
=
0.
2
)
optimizer
=
fluid
.
optimizer
.
Adam
(
learning_rate
=
0.
001
)
optimizer
.
minimize
(
cost
)
if
memory_opt
:
fluid
.
memory_optimize
(
main
)
fluid
.
memory_optimize
(
fluid
.
default_main_program
()
)
# execution
place
=
fluid
.
CUDAPlace
(
0
)
if
use_cuda
else
fluid
.
CPUPlace
()
feeder
=
fluid
.
DataFeeder
(
feed_list
=
[
data
,
label
],
place
=
place
)
reader
=
feeder
.
decorate_reader
(
train_reader
,
multi_devices
=
True
)
exe
=
fluid
.
Executor
(
place
)
fluid
.
default_startup_program
().
random_seed
=
1
fluid
.
default_main_program
().
random_seed
=
1
fluid
.
default_startup_program
().
random_seed
=
1
00
fluid
.
default_main_program
().
random_seed
=
1
00
exe
.
run
(
fluid
.
default_startup_program
())
train_cp
=
compiler
.
CompiledProgram
(
fluid
.
default_main_program
())
...
...
@@ -84,30 +85,30 @@ class BuildIrMemOptBase(unittest.TestCase):
begin
=
time
.
time
()
first_loss
,
last_loss
=
None
,
None
step_id
=
0
custom_iter
=
getattr
(
self
,
"iter"
)
custom_iter
=
getattr
(
self
,
"iter"
,
None
)
if
not
custom_iter
==
None
:
iter
=
custom_iter
for
data
in
reader
():
ret
=
exe
.
run
(
train_cp
,
feed
=
data
,
fetch_list
=
fetch_list
)
print
(
ret
)
step_id
+=
1
if
step_id
==
0
:
first_loss
=
re
s
[
0
]
if
step_id
==
1
:
first_loss
=
re
t
[
0
]
if
step_id
==
iter
:
last_loss
=
re
s
[
0
]
last_loss
=
re
t
[
0
]
break
end
=
time
.
time
()
print
(
"%.4f Instance per second"
%
(
(
batch_size
*
iter
)
/
(
end
-
begin
)))
print
(
first_loss
,
last_loss
)
avg_last_loss_val
=
np
.
array
(
last_loss
).
mean
()
avg_first_loss_val
=
np
.
array
(
first_loss
).
mean
()
if
math
.
isnan
(
float
(
avg_last_loss_val
))
or
math
.
isnan
(
float
(
avg_first_loss_val
)):
sys
.
exit
(
"got NaN loss, training failed."
)
print
(
first_loss
,
last_loss
)
return
first_loss
,
last_loss
...
...
@@ -128,7 +129,7 @@ class TestIrMemOptBase(BuildIrMemOptBase):
not
use_python_mem_opt
))
with
fluid
.
program_guard
(
fluid
.
Program
(),
fluid
.
Program
()):
with
fluid
.
scope_guard
(
core
.
Scope
()):
if
use_cuda
is
False
and
use_python_mem_opt
is
Fals
e
:
if
use_cuda
is
True
and
use_python_mem_opt
is
Tru
e
:
baseline_first_loss
,
baseline_last_loss
=
self
.
check_network_convergence
(
self
.
network
,
use_cuda
=
use_cuda
,
...
...
@@ -138,8 +139,7 @@ class TestIrMemOptBase(BuildIrMemOptBase):
self
.
network
,
use_cuda
=
use_cuda
,
memory_opt
=
use_python_mem_opt
)
for
loss
in
zip
(
baseline_first_loss
,
cur_first_loss
):
self
.
assertAlmostEqual
(
loss
[
0
],
loss
[
1
],
1e-5
)
for
loss
in
zip
(
baseline_last_loss
,
cur_last_loss
):
self
.
assertAlmostEqual
(
loss
[
0
],
loss
[
1
],
1e-5
)
self
.
assertAlmostEquals
(
baseline_last_loss
,
cur_last_loss
,
1e-2
)
self
.
assertAlmostEquals
(
baseline_first_loss
,
cur_first_loss
,
1e-2
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录