Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
Paddle
提交
b3f650d1
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看板
未验证
提交
b3f650d1
编写于
5月 24, 2018
作者:
K
Kexin Zhao
提交者:
GitHub
5月 24, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #10889 from kexinzhao/understand_sentiment_lod
Modify understand sentiment example using new LoDTensor API
上级
d4c21642
8cce3304
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
60 addition
and
44 deletion
+60
-44
python/paddle/fluid/tests/book/high-level-api/understand_sentiment/test_understand_sentiment_conv.py
...pi/understand_sentiment/test_understand_sentiment_conv.py
+15
-11
python/paddle/fluid/tests/book/high-level-api/understand_sentiment/test_understand_sentiment_dynamic_rnn.py
...rstand_sentiment/test_understand_sentiment_dynamic_rnn.py
+15
-11
python/paddle/fluid/tests/book/high-level-api/understand_sentiment/test_understand_sentiment_stacked_lstm.py
...stand_sentiment/test_understand_sentiment_stacked_lstm.py
+15
-11
python/paddle/fluid/tests/book/notest_understand_sentiment.py
...on/paddle/fluid/tests/book/notest_understand_sentiment.py
+15
-11
未找到文件。
python/paddle/fluid/tests/book/high-level-api/understand_sentiment/test_understand_sentiment_conv.py
浏览文件 @
b3f650d1
...
@@ -121,17 +121,21 @@ def infer(use_cuda, inference_program, save_dirname=None):
...
@@ -121,17 +121,21 @@ def infer(use_cuda, inference_program, save_dirname=None):
param_path
=
save_dirname
,
param_path
=
save_dirname
,
place
=
place
)
place
=
place
)
def
create_random_lodtensor
(
lod
,
place
,
low
,
high
):
# Setup input by creating LoDTensor to represent sequence of words.
data
=
np
.
random
.
random_integers
(
low
,
high
,
# Here each word is the basic element of the LoDTensor and the shape of
[
lod
[
-
1
],
1
]).
astype
(
"int64"
)
# each word (base_shape) should be [1] since it is simply an index to
res
=
fluid
.
LoDTensor
()
# look up for the corresponding word vector.
res
.
set
(
data
,
place
)
# Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
res
.
set_lod
([
lod
])
# which has only one lod level. Then the created LoDTensor will have only
return
res
# one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of
lod
=
[
0
,
4
,
10
]
# length 3, 4 and 2, respectively.
tensor_words
=
create_random_lodtensor
(
# Note that lod info should be a list of lists.
lod
,
place
,
low
=
0
,
high
=
len
(
word_dict
)
-
1
)
lod
=
[[
3
,
4
,
2
]]
base_shape
=
[
1
]
# The range of random integers is [low, high]
tensor_words
=
fluid
.
create_random_int_lodtensor
(
lod
,
base_shape
,
place
,
low
=
0
,
high
=
len
(
word_dict
)
-
1
)
results
=
inferencer
.
infer
({
'words'
:
tensor_words
})
results
=
inferencer
.
infer
({
'words'
:
tensor_words
})
print
(
"infer results: "
,
results
)
print
(
"infer results: "
,
results
)
...
...
python/paddle/fluid/tests/book/high-level-api/understand_sentiment/test_understand_sentiment_dynamic_rnn.py
浏览文件 @
b3f650d1
...
@@ -136,17 +136,21 @@ def infer(use_cuda, inference_program, save_dirname=None):
...
@@ -136,17 +136,21 @@ def infer(use_cuda, inference_program, save_dirname=None):
param_path
=
save_dirname
,
param_path
=
save_dirname
,
place
=
place
)
place
=
place
)
def
create_random_lodtensor
(
lod
,
place
,
low
,
high
):
# Setup input by creating LoDTensor to represent sequence of words.
data
=
np
.
random
.
random_integers
(
low
,
high
,
# Here each word is the basic element of the LoDTensor and the shape of
[
lod
[
-
1
],
1
]).
astype
(
"int64"
)
# each word (base_shape) should be [1] since it is simply an index to
res
=
fluid
.
LoDTensor
()
# look up for the corresponding word vector.
res
.
set
(
data
,
place
)
# Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
res
.
set_lod
([
lod
])
# which has only one lod level. Then the created LoDTensor will have only
return
res
# one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of
lod
=
[
0
,
4
,
10
]
# length 3, 4 and 2, respectively.
tensor_words
=
create_random_lodtensor
(
# Note that lod info should be a list of lists.
lod
,
place
,
low
=
0
,
high
=
len
(
word_dict
)
-
1
)
lod
=
[[
3
,
4
,
2
]]
base_shape
=
[
1
]
# The range of random integers is [low, high]
tensor_words
=
fluid
.
create_random_int_lodtensor
(
lod
,
base_shape
,
place
,
low
=
0
,
high
=
len
(
word_dict
)
-
1
)
results
=
inferencer
.
infer
({
'words'
:
tensor_words
})
results
=
inferencer
.
infer
({
'words'
:
tensor_words
})
print
(
"infer results: "
,
results
)
print
(
"infer results: "
,
results
)
...
...
python/paddle/fluid/tests/book/high-level-api/understand_sentiment/test_understand_sentiment_stacked_lstm.py
浏览文件 @
b3f650d1
...
@@ -128,17 +128,21 @@ def infer(use_cuda, inference_program, save_dirname=None):
...
@@ -128,17 +128,21 @@ def infer(use_cuda, inference_program, save_dirname=None):
param_path
=
save_dirname
,
param_path
=
save_dirname
,
place
=
place
)
place
=
place
)
def
create_random_lodtensor
(
lod
,
place
,
low
,
high
):
# Setup input by creating LoDTensor to represent sequence of words.
data
=
np
.
random
.
random_integers
(
low
,
high
,
# Here each word is the basic element of the LoDTensor and the shape of
[
lod
[
-
1
],
1
]).
astype
(
"int64"
)
# each word (base_shape) should be [1] since it is simply an index to
res
=
fluid
.
LoDTensor
()
# look up for the corresponding word vector.
res
.
set
(
data
,
place
)
# Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
res
.
set_lod
([
lod
])
# which has only one lod level. Then the created LoDTensor will have only
return
res
# one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of
lod
=
[
0
,
4
,
10
]
# length 3, 4 and 2, respectively.
tensor_words
=
create_random_lodtensor
(
# Note that lod info should be a list of lists.
lod
,
place
,
low
=
0
,
high
=
len
(
word_dict
)
-
1
)
lod
=
[[
3
,
4
,
2
]]
base_shape
=
[
1
]
# The range of random integers is [low, high]
tensor_words
=
fluid
.
create_random_int_lodtensor
(
lod
,
base_shape
,
place
,
low
=
0
,
high
=
len
(
word_dict
)
-
1
)
results
=
inferencer
.
infer
({
'words'
:
tensor_words
})
results
=
inferencer
.
infer
({
'words'
:
tensor_words
})
print
(
"infer results: "
,
results
)
print
(
"infer results: "
,
results
)
...
...
python/paddle/fluid/tests/book/notest_understand_sentiment.py
浏览文件 @
b3f650d1
...
@@ -125,14 +125,6 @@ def stacked_lstm_net(data,
...
@@ -125,14 +125,6 @@ def stacked_lstm_net(data,
return
avg_cost
,
accuracy
,
prediction
return
avg_cost
,
accuracy
,
prediction
def
create_random_lodtensor
(
lod
,
place
,
low
,
high
):
data
=
np
.
random
.
random_integers
(
low
,
high
,
[
lod
[
-
1
],
1
]).
astype
(
"int64"
)
res
=
fluid
.
LoDTensor
()
res
.
set
(
data
,
place
)
res
.
set_lod
([
lod
])
return
res
def
train
(
word_dict
,
def
train
(
word_dict
,
net_method
,
net_method
,
use_cuda
,
use_cuda
,
...
@@ -242,9 +234,21 @@ def infer(word_dict, use_cuda, save_dirname=None):
...
@@ -242,9 +234,21 @@ def infer(word_dict, use_cuda, save_dirname=None):
word_dict_len
=
len
(
word_dict
)
word_dict_len
=
len
(
word_dict
)
lod
=
[
0
,
4
,
10
]
# Setup input by creating LoDTensor to represent sequence of words.
tensor_words
=
create_random_lodtensor
(
# Here each word is the basic element of the LoDTensor and the shape of
lod
,
place
,
low
=
0
,
high
=
word_dict_len
-
1
)
# each word (base_shape) should be [1] since it is simply an index to
# look up for the corresponding word vector.
# Suppose the length_based level of detail (lod) info is set to [[3, 4, 2]],
# which has only one lod level. Then the created LoDTensor will have only
# one higher level structure (sequence of words, or sentence) than the basic
# element (word). Hence the LoDTensor will hold data for three sentences of
# length 3, 4 and 2, respectively.
# Note that lod info should be a list of lists.
lod
=
[[
3
,
4
,
2
]]
base_shape
=
[
1
]
# The range of random integers is [low, high]
tensor_words
=
fluid
.
create_random_int_lodtensor
(
lod
,
base_shape
,
place
,
low
=
0
,
high
=
word_dict_len
-
1
)
# Construct feed as a dictionary of {feed_target_name: feed_target_data}
# Construct feed as a dictionary of {feed_target_name: feed_target_data}
# and results will contain a list of data corresponding to fetch_targets.
# and results will contain a list of data corresponding to fetch_targets.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录