Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
d020d7fd
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看板
未验证
提交
d020d7fd
编写于
6月 20, 2018
作者:
Y
Yan Chunwei
提交者:
GitHub
6月 20, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add beam search doc (#11469)
上级
59729902
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
56 addition
and
12 deletion
+56
-12
paddle/fluid/operators/activation_op.cc
paddle/fluid/operators/activation_op.cc
+2
-2
python/paddle/fluid/layers/control_flow.py
python/paddle/fluid/layers/control_flow.py
+30
-3
python/paddle/fluid/layers/nn.py
python/paddle/fluid/layers/nn.py
+24
-7
未找到文件。
paddle/fluid/operators/activation_op.cc
浏览文件 @
d020d7fd
...
@@ -143,7 +143,7 @@ $$out = \\frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$
...
@@ -143,7 +143,7 @@ $$out = \\frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$
__attribute__
((
unused
))
constexpr
char
TanhShrinkDoc
[]
=
R"DOC(
__attribute__
((
unused
))
constexpr
char
TanhShrinkDoc
[]
=
R"DOC(
TanhShrink Activation Operator.
TanhShrink Activation Operator.
$$out = x - \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$
$$out = x - \
\
frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$
)DOC"
;
)DOC"
;
...
@@ -385,7 +385,7 @@ class STanhOpMaker : public framework::OpProtoAndCheckerMaker {
...
@@ -385,7 +385,7 @@ class STanhOpMaker : public framework::OpProtoAndCheckerMaker {
AddComment
(
R"DOC(
AddComment
(
R"DOC(
STanh Activation Operator.
STanh Activation Operator.
$$out = b * \frac{e^{a * x} - e^{-a * x}}{e^{a * x} + e^{-a * x}}$$
$$out = b * \
\
frac{e^{a * x} - e^{-a * x}}{e^{a * x} + e^{-a * x}}$$
)DOC"
);
)DOC"
);
}
}
...
...
python/paddle/fluid/layers/control_flow.py
浏览文件 @
d020d7fd
...
@@ -185,7 +185,9 @@ def Print(input,
...
@@ -185,7 +185,9 @@ def Print(input,
Returns:
Returns:
Variable: Output tensor, same data with input tensor.
Variable: Output tensor, same data with input tensor.
Examples:
Examples:
.. code-block:: python
.. code-block:: python
value = some_layer(...)
value = some_layer(...)
...
@@ -1201,6 +1203,31 @@ class ConditionalBlockGuard(BlockGuard):
...
@@ -1201,6 +1203,31 @@ class ConditionalBlockGuard(BlockGuard):
class
ConditionalBlock
(
object
):
class
ConditionalBlock
(
object
):
'''
**ConditionalBlock**
ConditionalBlock is an operator that bind a block to a specific condition,
if the condition matches, the corresponding block will be executed.
Args:
inputs (Variable): bool conditions.
is_scalar_condition (bool): whether the branch is controled by a scalar.
name(str): name of this ConditionalBlock.
Examples:
.. code-block:: python
cond = layers.less_than(x=label, y=limit)
true_image, false_image = layers.split_lod_tensor(
input=image, mask=cond)
true_cond = layers.ConditionalBlock([true_image])
with true_cond.block():
...
with false_cond.block():
...
'''
def
__init__
(
self
,
inputs
,
is_scalar_condition
=
False
,
name
=
None
):
def
__init__
(
self
,
inputs
,
is_scalar_condition
=
False
,
name
=
None
):
for
each_input
in
inputs
:
for
each_input
in
inputs
:
if
not
isinstance
(
each_input
,
Variable
):
if
not
isinstance
(
each_input
,
Variable
):
...
...
python/paddle/fluid/layers/nn.py
浏览文件 @
d020d7fd
...
@@ -2678,18 +2678,35 @@ def sequence_expand(x, y, ref_level=-1, name=None):
...
@@ -2678,18 +2678,35 @@ def sequence_expand(x, y, ref_level=-1, name=None):
def
beam_search
(
pre_ids
,
ids
,
scores
,
beam_size
,
end_id
,
level
=
0
):
def
beam_search
(
pre_ids
,
ids
,
scores
,
beam_size
,
end_id
,
level
=
0
):
'''
'''
**beam search**
This function implements the beam search algorithm.
This function implements the beam search algorithm.
Beam search is a classical algorithm for selecting candidate words
in a machine translation task.
Refer to `Beam search <https://en.wikipedia.org/wiki/Beam_search>`_
for more details.
Args:
Args:
pre_ids (Variable):
${pre_ids_comment}
pre_ids (Variable):
ids in previous step.
ids (Variable):
${ids_comment}
ids (Variable):
a LoDTensor of shape of [None,k]
scores (Variable):
${scores_comment}
scores (Variable):
a LoDTensor that has the same shape and LoD with `ids`
beam_size (int):
${beam_size_comment}
beam_size (int):
beam size for beam search
end_id (int):
${end_id_comment}
end_id (int):
the token id which indicates the end of a sequence
level (int):
${level_comment}
level (int):
the level of LoDTensor
Returns:
Returns:
tuple: a tuple of beam_search output variables: selected_ids, selected_scores
tuple: a tuple of beam_search output variables: `selected_ids`, `selected_scores`
Examples:
.. code-block:: python
# current_score is a Tensor of shape (num_batch_size, embed_size), which
# consists score of each candidate word.
topk_scores, topk_indices = pd.topk(current_score, k=50)
selected_ids, selected_scores = pd.beam_search(
pre_ids, topk_indices, topk_scores, beam_size, end_id=10, level=0)
'''
'''
helper
=
LayerHelper
(
'beam_search'
,
**
locals
())
helper
=
LayerHelper
(
'beam_search'
,
**
locals
())
score_type
=
scores
.
dtype
score_type
=
scores
.
dtype
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录