Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
cafdeb0a
P
Paddle
项目概览
Crayon鑫
/
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看板
提交
cafdeb0a
编写于
6月 15, 2018
作者:
Y
Yibing Liu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix docs for detection_output & target_assign
上级
67dc5c7f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
42 addition
and
24 deletion
+42
-24
python/paddle/fluid/layers/detection.py
python/paddle/fluid/layers/detection.py
+35
-18
python/paddle/fluid/layers/nn.py
python/paddle/fluid/layers/nn.py
+7
-6
未找到文件。
python/paddle/fluid/layers/detection.py
浏览文件 @
cafdeb0a
...
@@ -97,7 +97,9 @@ def detection_output(loc,
...
@@ -97,7 +97,9 @@ def detection_output(loc,
nms_eta(float): The parameter for adaptive NMS.
nms_eta(float): The parameter for adaptive NMS.
Returns:
Returns:
Variable: The detection outputs is a LoDTensor with shape [No, 6].
Variable:
The detection outputs is a LoDTensor with shape [No, 6].
Each row has six values: [label, confidence, xmin, ymin, xmax, ymax].
Each row has six values: [label, confidence, xmin, ymin, xmax, ymax].
`No` is the total number of detections in this mini-batch. For each
`No` is the total number of detections in this mini-batch. For each
instance, the offsets in first dimension are called LoD, the offset
instance, the offsets in first dimension are called LoD, the offset
...
@@ -110,15 +112,15 @@ def detection_output(loc,
...
@@ -110,15 +112,15 @@ def detection_output(loc,
Examples:
Examples:
.. code-block:: python
.. code-block:: python
pb = layers.data(name='prior_box', shape=[10, 4],
pb = layers.data(name='prior_box', shape=[10, 4],
append_batch_size=False, dtype='float32')
append_batch_size=False, dtype='float32')
pbv = layers.data(name='prior_box_var', shape=[10, 4],
pbv = layers.data(name='prior_box_var', shape=[10, 4],
append_batch_size=False, dtype='float32')
append_batch_size=False, dtype='float32')
loc = layers.data(name='target_box', shape=[2, 21, 4],
loc = layers.data(name='target_box', shape=[2, 21, 4],
append_batch_size=False, dtype='float32')
append_batch_size=False, dtype='float32')
scores = layers.data(name='scores', shape=[2, 21, 10],
scores = layers.data(name='scores', shape=[2, 21, 10],
append_batch_size=False, dtype='float32')
append_batch_size=False, dtype='float32')
nmsed_outs = fluid.layers.detection_output(scores=scores,
nmsed_outs = fluid.layers.detection_output(scores=scores,
loc=loc,
loc=loc,
prior_box=pb,
prior_box=pb,
prior_box_var=pbv)
prior_box_var=pbv)
...
@@ -296,8 +298,6 @@ def target_assign(input,
...
@@ -296,8 +298,6 @@ def target_assign(input,
mismatch_value
=
None
,
mismatch_value
=
None
,
name
=
None
):
name
=
None
):
"""
"""
**Target assigner operator**
This operator can be, for given the target bounding boxes or labels,
This operator can be, for given the target bounding boxes or labels,
to assign classification and regression targets to each prediction as well as
to assign classification and regression targets to each prediction as well as
weights to prediction. The weights is used to specify which prediction would
weights to prediction. The weights is used to specify which prediction would
...
@@ -311,20 +311,24 @@ def target_assign(input,
...
@@ -311,20 +311,24 @@ def target_assign(input,
1. Assigning all outpts based on `match_indices`:
1. Assigning all outpts based on `match_indices`:
If id = match_indices[i][j] > 0,
.. code-block:: text
If id = match_indices[i][j] > 0,
out[i][j][0 : K] = X[lod[i] + id][j % P][0 : K]
out[i][j][0 : K] = X[lod[i] + id][j % P][0 : K]
out_weight[i][j] = 1.
out_weight[i][j] = 1.
Otherwise,
Otherwise,
out[j][j][0 : K] = {mismatch_value, mismatch_value, ...}
out[j][j][0 : K] = {mismatch_value, mismatch_value, ...}
out_weight[i][j] = 0.
out_weight[i][j] = 0.
2. Assigning out_weight based on `neg_indices` if `neg_indices` is provided:
2. Assigning out_weight based on `neg_indices` if `neg_indices` is provided:
Assumed that the row offset for each instance in `neg_indices` is called neg_lod,
Assumed that the row offset for each instance in `neg_indices` is called neg_lod,
for i-th instance and each `id` of neg_indices in this instance:
for i-th instance and each `id` of neg_indices in this instance:
.. code-block:: text
out[i][id][0 : K] = {mismatch_value, mismatch_value, ...}
out[i][id][0 : K] = {mismatch_value, mismatch_value, ...}
out_weight[i][id] = 1.0
out_weight[i][id] = 1.0
...
@@ -341,10 +345,23 @@ def target_assign(input,
...
@@ -341,10 +345,23 @@ def target_assign(input,
mismatch_value (float32): Fill this value to the mismatched location.
mismatch_value (float32): Fill this value to the mismatched location.
Returns:
Returns:
out (Variable): The output is a 3D Tensor with shape [N, P, K],
tuple:
N and P is the same as they are in `neg_indices`, K is the
same as it in input of X. If `match_indices[i][j]`.
A tuple(out, out_weight) is returned. out is a 3D Tensor with
out_weight (Variable): The weight for output with the shape of [N, P, 1].
shape [N, P, K], N and P is the same as they are in
`neg_indices`, K is the same as it in input of X. If
`match_indices[i][j]`. out_weight is the weight for output with
the shape of [N, P, 1].
Examples:
.. code-block:: python
matched_indices, matched_dist = fluid.layers.bipartite_match(iou)
gt = layers.data(
name='gt', shape=[1, 1], dtype='int32', lod_level=1)
trg, trg_weight = layers.target_assign(
gt, matched_indices, mismatch_value=0)
"""
"""
helper
=
LayerHelper
(
'target_assign'
,
**
locals
())
helper
=
LayerHelper
(
'target_assign'
,
**
locals
())
out
=
helper
.
create_tmp_variable
(
dtype
=
input
.
dtype
)
out
=
helper
.
create_tmp_variable
(
dtype
=
input
.
dtype
)
...
...
python/paddle/fluid/layers/nn.py
浏览文件 @
cafdeb0a
...
@@ -3466,7 +3466,9 @@ def nce(input,
...
@@ -3466,7 +3466,9 @@ def nce(input,
input (Variable): input variable.
input (Variable): input variable.
label (Variable): label.
label (Variable): label.
num_total_classes (int):${num_total_classes_comment}
num_total_classes (int):${num_total_classes_comment}
sample_weight (int): ${sample_weight_comment}
sample_weight (Variable|None): A Variable of shape [batch_size, 1]
storing a weight for each sample. The default weight for each
sample is 1.0.
param_attr (ParamAttr|None): attributes for parameter
param_attr (ParamAttr|None): attributes for parameter
bias_attr (ParamAttr|None): attributes for bias
bias_attr (ParamAttr|None): attributes for bias
num_neg_samples (int): ${num_neg_samples_comment}
num_neg_samples (int): ${num_neg_samples_comment}
...
@@ -4638,10 +4640,6 @@ def random_crop(x, shape, seed=None):
...
@@ -4638,10 +4640,6 @@ def random_crop(x, shape, seed=None):
"""
"""
${comment}
${comment}
Examples:
>>> img = fluid.layers.data("img", [3, 256, 256])
>>> cropped_img = fluid.layers.random_crop(img, shape=[3, 224, 224])
Args:
Args:
x(${x_type}): ${x_comment}
x(${x_type}): ${x_comment}
shape(${shape_type}): ${shape_comment}
shape(${shape_type}): ${shape_comment}
...
@@ -4650,7 +4648,10 @@ def random_crop(x, shape, seed=None):
...
@@ -4650,7 +4648,10 @@ def random_crop(x, shape, seed=None):
Returns:
Returns:
${out_comment}
${out_comment}
Examples:
>>> img = fluid.layers.data("img", [3, 256, 256])
>>> cropped_img = fluid.layers.random_crop(img, shape=[3, 224, 224])
"""
"""
helper
=
LayerHelper
(
"random_crop"
,
**
locals
())
helper
=
LayerHelper
(
"random_crop"
,
**
locals
())
dtype
=
helper
.
input_dtype
()
dtype
=
helper
.
input_dtype
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录