Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
efe06caa
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看板
未验证
提交
efe06caa
编写于
1月 10, 2018
作者:
Q
Qiao Longfei
提交者:
GitHub
1月 10, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
change data type of beam_search op (#7374)
上级
91f80f79
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
5 addition
and
5 deletion
+5
-5
paddle/operators/beam_search_op.cc
paddle/operators/beam_search_op.cc
+3
-3
python/paddle/v2/fluid/tests/test_beam_search_op.py
python/paddle/v2/fluid/tests/test_beam_search_op.py
+2
-2
未找到文件。
paddle/operators/beam_search_op.cc
浏览文件 @
efe06caa
...
@@ -39,7 +39,7 @@ void BeamSearch::operator()(const framework::LoDTensor &pre_ids,
...
@@ -39,7 +39,7 @@ void BeamSearch::operator()(const framework::LoDTensor &pre_ids,
std
::
map
<
size_t
/*offset*/
,
std
::
vector
<
Item
>>
hash
;
std
::
map
<
size_t
/*offset*/
,
std
::
vector
<
Item
>>
hash
;
framework
::
LoD
new_lod
;
framework
::
LoD
new_lod
;
auto
*
ids_data
=
selected_ids
->
mutable_data
<
int
>
(
platform
::
CPUPlace
());
auto
*
ids_data
=
selected_ids
->
mutable_data
<
int
64_t
>
(
platform
::
CPUPlace
());
auto
*
scores_data
=
auto
*
scores_data
=
selected_scores
->
mutable_data
<
float
>
(
platform
::
CPUPlace
());
selected_scores
->
mutable_data
<
float
>
(
platform
::
CPUPlace
());
...
@@ -66,7 +66,7 @@ void BeamSearch::operator()(const framework::LoDTensor &pre_ids,
...
@@ -66,7 +66,7 @@ void BeamSearch::operator()(const framework::LoDTensor &pre_ids,
void
BeamSearch
::
PruneEndidCandidates
(
const
framework
::
LoDTensor
&
pre_ids
,
void
BeamSearch
::
PruneEndidCandidates
(
const
framework
::
LoDTensor
&
pre_ids
,
std
::
vector
<
std
::
vector
<
Item
>>
*
items
)
{
std
::
vector
<
std
::
vector
<
Item
>>
*
items
)
{
auto
*
pre_ids_data
=
pre_ids
.
data
<
int
>
();
auto
*
pre_ids_data
=
pre_ids
.
data
<
int
64_t
>
();
for
(
size_t
offset
=
0
;
offset
<
items
->
size
();
offset
++
)
{
for
(
size_t
offset
=
0
;
offset
<
items
->
size
();
offset
++
)
{
auto
prefix_id
=
pre_ids_data
[
offset
];
auto
prefix_id
=
pre_ids_data
[
offset
];
...
@@ -127,7 +127,7 @@ bool BeamSearch::NextItemSet(std::vector<BeamSearch::Item> *items) {
...
@@ -127,7 +127,7 @@ bool BeamSearch::NextItemSet(std::vector<BeamSearch::Item> *items) {
auto
abs_lod
=
framework
::
ToAbsOffset
(
ids
.
lod
());
auto
abs_lod
=
framework
::
ToAbsOffset
(
ids
.
lod
());
PADDLE_ENFORCE_GE
(
source_abs_two_level_lod
.
size
(),
2UL
);
PADDLE_ENFORCE_GE
(
source_abs_two_level_lod
.
size
(),
2UL
);
auto
*
ids_data
=
ids
.
data
<
int
>
();
auto
*
ids_data
=
ids
.
data
<
int
64_t
>
();
auto
*
scores_data
=
scores
.
data
<
float
>
();
auto
*
scores_data
=
scores
.
data
<
float
>
();
size_t
instance_dim
=
1
;
size_t
instance_dim
=
1
;
...
...
python/paddle/v2/fluid/tests/test_beam_search_op.py
浏览文件 @
efe06caa
...
@@ -37,13 +37,13 @@ class BeamSearchOpTester(unittest.TestCase):
...
@@ -37,13 +37,13 @@ class BeamSearchOpTester(unittest.TestCase):
print
'lod'
,
selected_ids
.
lod
()
print
'lod'
,
selected_ids
.
lod
()
def
_create_pre_ids
(
self
):
def
_create_pre_ids
(
self
):
np_data
=
np
.
array
([[
1
,
2
,
3
,
4
]],
dtype
=
'int
32
'
)
np_data
=
np
.
array
([[
1
,
2
,
3
,
4
]],
dtype
=
'int
64
'
)
tensor
=
create_tensor
(
self
.
scope
,
"pre_ids"
,
np_data
)
tensor
=
create_tensor
(
self
.
scope
,
"pre_ids"
,
np_data
)
def
_create_ids
(
self
):
def
_create_ids
(
self
):
self
.
lod
=
[[
0
,
1
,
4
],
[
0
,
1
,
2
,
3
,
4
]]
self
.
lod
=
[[
0
,
1
,
4
],
[
0
,
1
,
2
,
3
,
4
]]
np_data
=
np
.
array
(
np_data
=
np
.
array
(
[[
4
,
2
,
5
],
[
2
,
1
,
3
],
[
3
,
5
,
2
],
[
8
,
2
,
1
]],
dtype
=
'int
32
'
)
[[
4
,
2
,
5
],
[
2
,
1
,
3
],
[
3
,
5
,
2
],
[
8
,
2
,
1
]],
dtype
=
'int
64
'
)
tensor
=
create_tensor
(
self
.
scope
,
"ids"
,
np_data
)
tensor
=
create_tensor
(
self
.
scope
,
"ids"
,
np_data
)
tensor
.
set_lod
(
self
.
lod
)
tensor
.
set_lod
(
self
.
lod
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录