Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleDetection
提交
c2e8f40d
P
PaddleDetection
项目概览
PaddlePaddle
/
PaddleDetection
大约 1 年 前同步成功
通知
695
Star
11112
Fork
2696
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
184
列表
看板
标记
里程碑
合并请求
40
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
184
Issue
184
列表
看板
标记
里程碑
合并请求
40
合并请求
40
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c2e8f40d
编写于
6月 17, 2018
作者:
Y
Yu Yang
提交者:
GitHub
6月 17, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #11492 from dzhwinter/doc/api1
[API Reference] fix some typo in layers
上级
20e5ef62
f4a49cb0
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
111 addition
and
25 deletion
+111
-25
paddle/fluid/operators/clip_by_norm_op.cc
paddle/fluid/operators/clip_by_norm_op.cc
+10
-1
paddle/fluid/operators/uniform_random_batch_size_like_op.cc
paddle/fluid/operators/uniform_random_batch_size_like_op.cc
+2
-2
python/paddle/fluid/framework.py
python/paddle/fluid/framework.py
+39
-2
python/paddle/fluid/layers/control_flow.py
python/paddle/fluid/layers/control_flow.py
+2
-3
python/paddle/fluid/layers/metric.py
python/paddle/fluid/layers/metric.py
+25
-1
python/paddle/fluid/layers/nn.py
python/paddle/fluid/layers/nn.py
+33
-16
未找到文件。
paddle/fluid/operators/clip_by_norm_op.cc
浏览文件 @
c2e8f40d
...
@@ -54,10 +54,19 @@ be linearly scaled to make the L2 norm of $Out$ equal to $max\_norm$, as
...
@@ -54,10 +54,19 @@ be linearly scaled to make the L2 norm of $Out$ equal to $max\_norm$, as
shown in the following formula:
shown in the following formula:
$$
$$
Out = \
frac{max
\_norm * X}{norm(X)},
Out = \
\frac{max\
\_norm * X}{norm(X)},
$$
$$
where $norm(X)$ represents the L2 norm of $X$.
where $norm(X)$ represents the L2 norm of $X$.
Examples:
.. code-block:: python
data = fluid.layer.data(
name='data', shape=[2, 4, 6], dtype='float32')
reshaped = fluid.layers.clip_by_norm(
x=data, max_norm=0.5)
)DOC"
);
)DOC"
);
}
}
};
};
...
...
paddle/fluid/operators/uniform_random_batch_size_like_op.cc
浏览文件 @
c2e8f40d
...
@@ -35,10 +35,10 @@ class UniformRandomBatchSizeLikeOpMaker : public BatchSizeLikeOpMaker {
...
@@ -35,10 +35,10 @@ class UniformRandomBatchSizeLikeOpMaker : public BatchSizeLikeOpMaker {
protected:
protected:
void
Apply
()
override
{
void
Apply
()
override
{
AddComment
(
R"DOC(
AddComment
(
R"DOC(
Uniform
random operator
Uniform
RandomBatchSizeLike operator.
This operator initializes a tensor with the same batch_size as the Input tensor
This operator initializes a tensor with the same batch_size as the Input tensor
with random values sampled from a uniform distribution.
with random values sampled from a uniform distribution.
)DOC"
);
)DOC"
);
AddAttr
<
float
>
(
"min"
,
AddAttr
<
float
>
(
"min"
,
...
...
python/paddle/fluid/framework.py
浏览文件 @
c2e8f40d
...
@@ -1034,6 +1034,37 @@ class Block(object):
...
@@ -1034,6 +1034,37 @@ class Block(object):
class
Program
(
object
):
class
Program
(
object
):
"""
Python Program. Beneath it is a ProgramDesc, which is used for
create c++ Program. A program is a self-contained programing
language like container. It has at least one Block, when the
control flow op like conditional_block, while_op is included,
it will contains nested block.
Please reference the framework.proto for details.
Notes: we have default_startup_program and default_main_program
by default, a pair of them will shared the parameters.
The default_startup_program only run once to initialize parameters,
default_main_program run in every minibatch and adjust the weights.
Args:
None
Returns:
Python Program
Examples:
.. code-block:: python
main_program = Program()
startup_program = Program()
with fluid.program_guard(main_program=main_program, startup_program=startup_program):
fluid.layers.data(name="x", shape=[-1, 784], dtype='float32')
fluid.layers.data(name="y", shape=[-1, 1], dtype='int32')
fluid.layers.fc(name="fc", shape=[10], dtype='float32', act="relu")
"""
def
__init__
(
self
):
def
__init__
(
self
):
self
.
desc
=
core
.
ProgramDesc
()
self
.
desc
=
core
.
ProgramDesc
()
self
.
blocks
=
[
Block
(
self
,
0
)]
self
.
blocks
=
[
Block
(
self
,
0
)]
...
@@ -1099,6 +1130,8 @@ class Program(object):
...
@@ -1099,6 +1130,8 @@ class Program(object):
def
clone
(
self
,
for_test
=
False
):
def
clone
(
self
,
for_test
=
False
):
"""Clone the Program object
"""Clone the Program object
Args:
for_test(bool): indicate whether clone for test.
Set for_test to False when we want to clone the program for training.
Set for_test to False when we want to clone the program for training.
Set for_test to True when we want to clone the program for testing.
Set for_test to True when we want to clone the program for testing.
...
@@ -1109,8 +1142,9 @@ class Program(object):
...
@@ -1109,8 +1142,9 @@ class Program(object):
the is_test attributes in these operators will be set to True for
the is_test attributes in these operators will be set to True for
testing purposes, otherwise, they remain unchanged.
testing purposes, otherwise, they remain unchanged.
Returns(Program):
Returns:
The cloned Program object.
Program: The cloned Program object.
"""
"""
if
for_test
:
if
for_test
:
p
=
self
.
inference_optimize
()
p
=
self
.
inference_optimize
()
...
@@ -1228,6 +1262,7 @@ class Program(object):
...
@@ -1228,6 +1262,7 @@ class Program(object):
def
copy_param_info_from
(
self
,
other
):
def
copy_param_info_from
(
self
,
other
):
"""
"""
Copy the information of parameters from other program.
Copy the information of parameters from other program.
Args:
Args:
other(Program): Other program
other(Program): Other program
...
@@ -1246,6 +1281,7 @@ class Program(object):
...
@@ -1246,6 +1281,7 @@ class Program(object):
def
copy_data_info_from
(
self
,
other
):
def
copy_data_info_from
(
self
,
other
):
"""
"""
Copy the information of data variables from other program.
Copy the information of data variables from other program.
Args:
Args:
other(Program): Other program
other(Program): Other program
...
@@ -1299,6 +1335,7 @@ class Parameter(Variable):
...
@@ -1299,6 +1335,7 @@ class Parameter(Variable):
def
to_string
(
self
,
throw_on_error
,
with_details
=
False
):
def
to_string
(
self
,
throw_on_error
,
with_details
=
False
):
"""
"""
To debug string.
To debug string.
Args:
Args:
throw_on_error(bool): raise exception when self is not initialized
throw_on_error(bool): raise exception when self is not initialized
when throw_on_error is True
when throw_on_error is True
...
...
python/paddle/fluid/layers/control_flow.py
浏览文件 @
c2e8f40d
...
@@ -902,8 +902,7 @@ def increment(x, value=1.0, in_place=True):
...
@@ -902,8 +902,7 @@ def increment(x, value=1.0, in_place=True):
in_place (bool): If the increment should be performed in-place.
in_place (bool): If the increment should be performed in-place.
Returns:
Returns:
Variable: The tensor variable storing the transformation of
Variable: The elementwise-incremented object.
element-wise increment of each value in the input.
Examples:
Examples:
.. code-block:: python
.. code-block:: python
...
@@ -945,7 +944,7 @@ def array_write(x, i, array=None):
...
@@ -945,7 +944,7 @@ def array_write(x, i, array=None):
Variable: The output LOD_TENSOR_ARRAY where the input tensor is written.
Variable: The output LOD_TENSOR_ARRAY where the input tensor is written.
Examples:
Examples:
.. code-block::python
.. code-block::
python
tmp = fluid.layers.zeros(shape=[10], dtype='int32')
tmp = fluid.layers.zeros(shape=[10], dtype='int32')
i = fluid.layers.fill_constant(shape=[1], dtype='int64', value=10)
i = fluid.layers.fill_constant(shape=[1], dtype='int64', value=10)
...
...
python/paddle/fluid/layers/metric.py
浏览文件 @
c2e8f40d
...
@@ -27,8 +27,32 @@ __all__ = ['accuracy', 'auc']
...
@@ -27,8 +27,32 @@ __all__ = ['accuracy', 'auc']
def
accuracy
(
input
,
label
,
k
=
1
,
correct
=
None
,
total
=
None
):
def
accuracy
(
input
,
label
,
k
=
1
,
correct
=
None
,
total
=
None
):
"""
"""
accuracy layer.
Refer to the https://en.wikipedia.org/wiki/Precision_and_recall
This function computes the accuracy using the input and label.
This function computes the accuracy using the input and label.
The output is the top k inputs and their indices.
If the correct label occurs in top k predictions, then correct will increment by one.
Note: the dtype of accuracy is determined by input. the input and label dtype can be different.
Args:
input(Variable): The input of accuracy layer, which is the predictions of network.
Carry LoD information is supported.
label(Variable): The label of dataset.
k(int): The top k predictions for each class will be checked.
correct(Variable): The correct predictions count.
total(Variable): The total entries count.
Returns:
Variable: The correct rate.
Examples:
.. code-block:: python
data = fluid.layers.data(name="data", shape=[-1, 32, 32], dtype="float32")
label = fluid.layers.data(name="data", shape=[-1,1], dtype="int32")
predict = fluid.layers.fc(input=data, size=10)
acc = fluid.layers.accuracy(input=predict, label=label, k=5)
"""
"""
helper
=
LayerHelper
(
"accuracy"
,
**
locals
())
helper
=
LayerHelper
(
"accuracy"
,
**
locals
())
topk_out
,
topk_indices
=
nn
.
topk
(
input
,
k
=
k
)
topk_out
,
topk_indices
=
nn
.
topk
(
input
,
k
=
k
)
...
...
python/paddle/fluid/layers/nn.py
浏览文件 @
c2e8f40d
...
@@ -794,11 +794,14 @@ def linear_chain_crf(input, label, param_attr=None):
...
@@ -794,11 +794,14 @@ def linear_chain_crf(input, label, param_attr=None):
Args:
Args:
input(${emission_type}): ${emission_comment}
input(${emission_type}): ${emission_comment}
input(${transition_type}): ${transition_comment}
label(${label_type}): ${label_comment}
label(${label_type}): ${label_comment}
param_attr(ParamAttr): The attribute of the learnable parameter.
param_attr(ParamAttr): The attribute of the learnable parameter.
Returns:
Returns:
${log_likelihood_comment}
output(${emission_exps_type}): ${emission_exps_comment}
\n
output(${transition_exps_type}): ${transition_exps_comment}
\n
output(${log_likelihood_type}): ${log_likelihood_comment}
"""
"""
helper
=
LayerHelper
(
'linear_chain_crf'
,
**
locals
())
helper
=
LayerHelper
(
'linear_chain_crf'
,
**
locals
())
...
@@ -1131,10 +1134,6 @@ def sequence_conv(input,
...
@@ -1131,10 +1134,6 @@ def sequence_conv(input,
Variable: output of sequence_conv
Variable: output of sequence_conv
"""
"""
# FIXME(dzh) : want to unify the argument of python layer
# function. So we ignore some unecessary attributes.
# such as, padding_trainable, context_start.
helper
=
LayerHelper
(
'sequence_conv'
,
**
locals
())
helper
=
LayerHelper
(
'sequence_conv'
,
**
locals
())
dtype
=
helper
.
input_dtype
()
dtype
=
helper
.
input_dtype
()
filter_shape
=
[
filter_size
*
input
.
shape
[
1
],
num_filters
]
filter_shape
=
[
filter_size
*
input
.
shape
[
1
],
num_filters
]
...
@@ -2068,15 +2067,37 @@ def layer_norm(input,
...
@@ -2068,15 +2067,37 @@ def layer_norm(input,
def
beam_search_decode
(
ids
,
scores
,
name
=
None
):
def
beam_search_decode
(
ids
,
scores
,
name
=
None
):
"""
"""
${beam_search_decode}
Beam Search Decode
This layers is to pack the output of beam search layer into sentences and
associated scores. It is usually called after the beam search layer.
Typically, the output of beam search layer is a tensor of selected ids, with
a tensor of the score of each id. Beam search layer's output ids, however,
are generated directly during the tree search, and they are stacked by each
level of the search tree. Thus we need to reorganize them into sentences,
based on the score of each id. This layer takes the output of beam search
layer as input and repack them into sentences.
Args:
Args:
ids (Variable): ${ids_comment}
ids (Variable): The selected ids, output of beam search layer.
scores (Variable): ${scores_comment}
scores (Variable): The associated scores of the ids, out put of beam
search layer.
name (str): The name of this layer. It is optional.
name (str): The name of this layer. It is optional.
Returns:
Returns:
tuple: a tuple of two output variable: sentence_ids, sentence_scores
tuple(Variable): a tuple of two output tensors: sentence_ids, sentence_scores.
sentence_ids is a tensor with shape [size, length], where size is the
beam size of beam search, and length is the length of each sentence.
Note that the length of sentences may vary.
sentence_scores is a tensor with the same shape as sentence_ids.
Examples:
.. code-block:: python
ids, scores = fluid.layers.beam_search(
pre_ids, ids, scores, beam_size, end_id)
sentence_ids, sentence_scores = fluid.layers.beam_search_decode(
ids, scores)
"""
"""
helper
=
LayerHelper
(
'beam_search_decode'
,
**
locals
())
helper
=
LayerHelper
(
'beam_search_decode'
,
**
locals
())
sentence_ids
=
helper
.
create_tmp_variable
(
dtype
=
ids
.
dtype
)
sentence_ids
=
helper
.
create_tmp_variable
(
dtype
=
ids
.
dtype
)
...
@@ -2957,7 +2978,7 @@ def split(input, num_or_sections, dim=-1, name=None):
...
@@ -2957,7 +2978,7 @@ def split(input, num_or_sections, dim=-1, name=None):
will be named automatically.
will be named automatically.
Returns:
Returns:
List
: The list of segmented tensor variables.
list(Variable)
: The list of segmented tensor variables.
Examples:
Examples:
.. code-block:: python
.. code-block:: python
...
@@ -3690,8 +3711,6 @@ def im2sequence(input, filter_size=1, stride=1, padding=0, name=None):
...
@@ -3690,8 +3711,6 @@ def im2sequence(input, filter_size=1, stride=1, padding=0, name=None):
Examples:
Examples:
As an example:
.. code-block:: text
.. code-block:: text
Given:
Given:
...
@@ -3735,7 +3754,7 @@ def im2sequence(input, filter_size=1, stride=1, padding=0, name=None):
...
@@ -3735,7 +3754,7 @@ def im2sequence(input, filter_size=1, stride=1, padding=0, name=None):
output.lod = [[4, 4]]
output.lod = [[4, 4]]
The simple usage i
s:
Example
s:
.. code-block:: python
.. code-block:: python
...
@@ -4220,9 +4239,7 @@ def lrn(input, n=5, k=1.0, alpha=1e-4, beta=0.75, name=None):
...
@@ -4220,9 +4239,7 @@ def lrn(input, n=5, k=1.0, alpha=1e-4, beta=0.75, name=None):
.. math::
.. math::
Output(i, x, y) = Input(i, x, y) / \left(
Output(i, x, y) = Input(i, x, y) /
\\
left(k +
\\
alpha
\\
sum
\\
limits^{
\\
min(C, c + n/2)}_{j =
\\
max(0, c - n/2)}(Input(j, x, y))^2
\\
right)^{
\\
beta}
k +
\a
lpha \sum\limits^{\min(C, c + n/2)}_{j = \max(0, c - n/2)}
(Input(j, x, y))^2
\r
ight)^{
\b
eta}
In the above equation:
In the above equation:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录