Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
22e5bcd2
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看板
未验证
提交
22e5bcd2
编写于
4月 01, 2019
作者:
J
Jiabin Yang
提交者:
GitHub
4月 01, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test=develop, ptb_rnn fix op (#16573)
上级
359fec05
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
9 deletion
+5
-9
python/paddle/fluid/tests/unittests/test_imperative_ptb_rnn.py
...n/paddle/fluid/tests/unittests/test_imperative_ptb_rnn.py
+5
-9
未找到文件。
python/paddle/fluid/tests/unittests/test_imperative_ptb_rnn.py
浏览文件 @
22e5bcd2
...
...
@@ -200,8 +200,6 @@ class PtbModel(fluid.dygraph.Layer):
rnn_out
,
shape
=
[
-
1
,
self
.
num_steps
,
self
.
hidden_size
])
projection
=
fluid
.
layers
.
matmul
(
rnn_out
,
self
.
softmax_weight
)
projection
=
fluid
.
layers
.
elementwise_add
(
projection
,
self
.
softmax_bias
)
projection
=
fluid
.
layers
.
reshape
(
projection
,
shape
=
[
-
1
,
self
.
vocab_size
])
projection
=
fluid
.
layers
.
reshape
(
projection
,
shape
=
[
-
1
,
self
.
vocab_size
])
loss
=
fluid
.
layers
.
softmax_with_cross_entropy
(
...
...
@@ -223,6 +221,7 @@ class TestDygraphPtbRnn(unittest.TestCase):
num_steps
=
3
init_scale
=
0.1
batch_size
=
4
batch_num
=
200
with
fluid
.
dygraph
.
guard
():
fluid
.
default_startup_program
().
random_seed
=
seed
...
...
@@ -242,7 +241,6 @@ class TestDygraphPtbRnn(unittest.TestCase):
dy_loss
=
None
last_hidden
=
None
last_cell
=
None
batch_num
=
200
for
i
in
range
(
batch_num
):
x_data
=
np
.
arange
(
12
).
reshape
(
4
,
3
).
astype
(
'int64'
)
...
...
@@ -282,7 +280,8 @@ class TestDygraphPtbRnn(unittest.TestCase):
exe
=
fluid
.
Executor
(
fluid
.
CPUPlace
())
sgd
=
SGDOptimizer
(
learning_rate
=
1e-3
)
x
=
fluid
.
layers
.
data
(
name
=
"x"
,
shape
=
[
-
1
,
3
,
1
],
dtype
=
'int64'
)
x
=
fluid
.
layers
.
data
(
name
=
"x"
,
shape
=
[
-
1
,
num_steps
,
1
],
dtype
=
'int64'
)
y
=
fluid
.
layers
.
data
(
name
=
"y"
,
shape
=
[
-
1
,
1
],
dtype
=
'float32'
)
init_hidden
=
fluid
.
layers
.
data
(
name
=
"init_hidden"
,
shape
=
[
1
],
dtype
=
'float32'
)
...
...
@@ -332,7 +331,6 @@ class TestDygraphPtbRnn(unittest.TestCase):
for
k
in
range
(
3
,
len
(
out
)):
static_param_updated
[
static_param_name_list
[
k
-
3
]]
=
out
[
k
]
self
.
assertTrue
(
np
.
allclose
(
static_loss_value
,
dy_loss
.
_numpy
()))
self
.
assertTrue
(
np
.
allclose
(
static_last_cell_value
,
last_cell
.
_numpy
()))
self
.
assertTrue
(
...
...
@@ -340,13 +338,11 @@ class TestDygraphPtbRnn(unittest.TestCase):
for
key
,
value
in
six
.
iteritems
(
static_param_init
):
# print("static_init name: {}, value {}".format(key, value))
# print("dy_init name: {}, value {}".format(key, dy_param_init[key]))
self
.
assertTrue
(
np
.
allclose
(
value
,
dy_param_init
[
key
]
,
atol
=
1e-5
))
self
.
assertTrue
(
np
.
allclose
(
value
,
dy_param_init
[
key
]))
for
key
,
value
in
six
.
iteritems
(
static_param_updated
):
# print("static name: {}, value {}".format(key, value))
# print("dy name: {}, value {}".format(key, dy_param_updated[key]))
self
.
assertTrue
(
np
.
allclose
(
value
,
dy_param_updated
[
key
],
atol
=
1e-5
))
self
.
assertTrue
(
np
.
allclose
(
value
,
dy_param_updated
[
key
]))
if
__name__
==
'__main__'
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录