未验证 提交 58dfa539 编写于 作者: W wangguanzhong 提交者: GitHub

refine api_cn, test=document_preview (#1255)

* refine api_cn, test=document_preview
上级 85829977
......@@ -8,22 +8,26 @@ anchor_generator
**Anchor generator operator**
为Faster RCNN算法生成anchor,输入的每一位产生N个anchor,N=size(anchor_sizes)*size(aspect_ratios)。生成anchor的顺序首先是aspect_ratios循环,然后是anchor_sizes循环。
**该OP仅支持CPU**
参数:
- **input** (Variable) - 输入特征图,格式为NCHW
- **anchor_sizes** (list|tuple|float) - 生成anchor的anchor大小,以绝对像素的形式表示,例如:[64.,128.,256.,512.]。若anchor的大小为64,则意味着这个anchor的面积等于64**2
- **aspect_ratios** (list|tuple|float) - 生成anchor的高宽比,例如[0.5,1.0,2.0]
- **variance** (list|tuple) - 变量,在框回归delta中使用。默认:[0.1,0.1,0.2,0.2]
- **stride** (list|tuple) - anchor在宽度和高度方向上的步长,比如[16.0,16.0]
- **offset** (float) - 先验框的中心位移。默认:0.5
- **name** (str) - 先验框操作符名称。默认:None
- **input** (Variable) - 维度为[N,C,H,W]的4-D Tensor。数据类型为float32或float64。
- **anchor_sizes** (float32|list|tuple,可选) - 生成anchor的anchor大小,以绝对像素的形式表示,例如:[64.,128.,256.,512.]。若anchor的大小为64,则意味着这个anchor的面积等于64**2。默认值为None
- **aspect_ratios** (float32|list|tuple,可选) - 生成anchor的高宽比,例如[0.5,1.0,2.0]。默认值为None。
- **variance** (list|tuple,可选) - 变量,在框回归delta中使用,数据类型为float32。默认值为[0.1,0.1,0.2,0.2]。
- **stride** (list|tuple,可选) - anchor在宽度和高度方向上的步长,比如[16.0,16.0],数据类型为float32。默认值为None。
- **offset** (float32,可选) - 先验框的中心位移。默认值为0.5
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
返回:
- Anchors(Varibale): 输出anchor,布局[H,W,num_anchors,4] , ``H`` 是输入的高度, ``W`` 是输入的宽度, ``num_anchors`` 是输入每位的框数,每个anchor格式(未归一化)为(xmin,ymin,xmax,ymax)
- Variances(Variable): anchor的扩展变量布局为 [H,W,num_priors,4]。 ``H`` 是输入的高度, ``W`` 是输入的宽度, ``num_priors`` 是输入每个位置的框数,每个变量的格式为(xcenter,ycenter,w,h)。
- 表示输出anchor的Tensor,数据类型为float32或float64。维度为[H,W,num_anchors,4]。 ``H`` 是输入的高度, ``W`` 是输入的宽度, ``num_anchors`` 是输入每位的框数,每个anchor格式(未归一化)为(xmin,ymin,xmax,ymax)
- 表示输出anchor的Tensor,数据类型为float32或float64。维度为[H,W,num_priors,4]。 ``H`` 是输入的高度, ``W`` 是输入的宽度, ``num_priors`` 是输入每个位置的框数,每个变量的格式为(xcenter,ycenter,w,h)。
返回类型:Variable
返回类型:Anchors(Variable),Variances(Variable)
**代码示例**:
......@@ -37,13 +41,4 @@ anchor_generator
aspect_ratios=[0.5, 1.0, 2.0],
variance=[0.1, 0.1, 0.2, 0.2],
stride=[16.0, 16.0],
offset=0.5)
offset=0.5)
\ No newline at end of file
......@@ -5,7 +5,8 @@ bipartite_match
.. py:function:: paddle.fluid.layers.bipartite_match(dist_matrix, match_type=None, dist_threshold=None, name=None)
该算子实现了贪心二分匹配算法,该算法用于根据输入距离矩阵获得与最大距离的匹配。对于输入二维矩阵,二分匹配算法可以找到每一行的匹配列(匹配意味着最大距离),也可以找到每列的匹配行。此算子仅计算列到行的匹配索引。对于每个实例,匹配索引的数量是输入距离矩阵的列号。
该OP实现了贪心二分匹配算法,该算法用于根据输入距离矩阵获得与最大距离的匹配。对于输入二维矩阵,二分匹配算法可以找到每一行的匹配列(匹配意味着最大距离),也可以找到每列的匹配行。此算子仅计算列到行的匹配索引。对于每个实例,匹配索引的数量是
输入距离矩阵的列号。**该OP仅支持CPU**
它有两个输出,匹配的索引和距离。简单的描述是该算法将最佳(最大距离)行实体与列实体匹配,并且匹配的索引在ColToRowMatchIndices的每一行中不重复。如果列实体与任何行实体不匹配,则ColToRowMatchIndices设置为-1。
......@@ -14,20 +15,19 @@ bipartite_match
注意:此API是一个非常低级别的API。它由 ``ssd_loss`` 层使用。请考虑使用 ``ssd_loss`` 。
参数:
- **dist_matrix** (变量)- 该输入是具有形状[K,M]的2-D LoDTensor。它是由每行和每列来表示实体之间的成对距离矩阵。例如,假设一个实体是具有形状[K]的A,另一个实体是具有形状[M]的B. dist_matrix [i] [j]是A[i]和B[j]之间的距离。距离越大,匹配越好。
- **dist_matrix** (Variable)- 维度为:math:`[K,M]`的2-D LoDTensor,数据类型为float32或float64。它是由每行和每列来表示实体之间的成对距离矩阵。例如,假设一个实体是具有形状[K]的A,另一个实体是具有形状[M]的B. dist_matrix [i] [j]是A[i]和B[j]之间的距离。距离越大,匹配越好。注意:此张量可以包含LoD信息以表示一批输入。该批次的一个实例可以包含不同数量的实体。
- **match_type** (str,可选)- 匹配方法的类型,应为'bipartite'或'per_prediction'。默认值为None,即'bipartite'。
- **dist_threshold** (float32,可选)- 如果match_type为'per_prediction',则此阈值用于根据最大距离确定额外匹配的bbox,默认值为None,即0.5。
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
注意:此张量可以包含LoD信息以表示一批输入。该批次的一个实例可以包含不同数量的实体。
返回:
- **match_type** (string | None)- 匹配方法的类型,应为'bipartite'或'per_prediction'。[默认'二分']
- **dist_threshold** (float | None)- 如果match_type为'per_prediction',则此阈值用于根据最大距离确定额外匹配的bbox,默认值为0.5
- matched_indices(Variable)- 维度为[N,M]的2-D Tensor, 数据类型为int32。 N是批量大小。如果match_indices[i][j]为-1,则表示B[j]与第i个实例中的任何实体都不匹配。否则,这意味着在第i个实例中B[j]与行match_indices[i][j]匹配。第i个实>例的行号保存在match_indices[i][j]中
- matched_distance(Variable)- 维度为[N,M]的2-D Tensor, 数据类型为float32,。 N是批量大小。如果match_indices[i][j]为-1,则match_distance[i][j]也为-1.0。否则,假设match_distance[i][j]=d,并且每个实例的行偏移称为LoD。然后match_distance[i][j]=dist_matrix[d]+ LoD[i]][j]
返回: 返回一个包含两个元素的元组。第一个是匹配的索引(matched_indices),第二个是匹配的距离(matched_distance)。
**matched_indices** 是一个2-D Tensor,int类型的形状为[N,M]。 N是批量大小。如果match_indices[i][j]为-1,则表示B[j]与第i个实例中的任何实体都不匹配。否则,这意味着在第i个实例中B[j]与行match_indices[i][j]匹配。第i个实例的行号保存在match_indices[i][j]中。
返回类型:Tuple
**matched_distance** 是一个2-D Tensor,浮点型的形状为[N,M]。 N是批量大小。如果match_indices[i][j]为-1,则match_distance[i][j]也为-1.0。否则,假设match_distance[i][j]=d,并且每个实例的行偏移称为LoD。然后match_distance[i][j]=dist_matrix[d]+ LoD[i]][j]。
返回类型: 元组(tuple)
**代码示例**
......@@ -37,7 +37,4 @@ bipartite_match
x = fluid.layers.data(name='x', shape=[4], dtype='float32')
y = fluid.layers.data(name='y', shape=[4], dtype='float32')
iou = fluid.layers.iou_similarity(x=x, y=y)
matched_indices, matched_dist = fluid.layers.bipartite_match(iou)
matched_indices, matched_dist = fluid.layers.bipartite_match(iou)
\ No newline at end of file
......@@ -5,7 +5,7 @@ box_clip
.. py:function:: paddle.fluid.layers.box_clip(input, im_info, name=None)
box框剪切为 ``im_info`` 给出的大小。对于每个输入框,公式如下:
检测框框剪切为 ``im_info`` 给出的大小。对于每个输入框,公式如下:
::
......@@ -14,7 +14,7 @@ box_clip
xmax = max(min(xmax, im_w - 1), 0)
ymax = max(min(ymax, im_h - 1), 0)
其中im_w和im_h是im_info计算的:
其中im_w和im_h是通过im_info计算的:
::
......@@ -23,13 +23,13 @@ box_clip
参数:
- **input (variable)** – 输入框,最后一个维度为4
- **im_info (variable)** – 具有(高度height,宽度width,比例scale)排列的形为[N,3]的图像的信息。高度和宽度是输入大小,比例是输入大小和原始大小的比率
- **name (str)** – 该层的名称。 为可选项
- **input** (Variable) – 维度为[N_1, N_2, ..., N_k, 4]的多维Tensor,其中最后一维为box坐标维度。数据类型为float32或float64。
- **im_info** (Variable) – 维度为[N, 3]的2-D Tensor,N为输入图片个数。具有(高度height,宽度width,比例scale)图像的信息,其中高度和宽度是输入大小,比例是输入大小和原始大小的比率。数据类型为float32或float64。
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
返回:剪切后的tensor
返回: 表示剪切后的检测框的Tensor或LoDTensor,数据类型为float32或float64,形状与输入检测框相同
返回类型: Variable
返回类型:Variable
**代码示例**
......@@ -41,14 +41,4 @@ box_clip
name='boxes', shape=[8, 4], dtype='float32', lod_level=1)
im_info = fluid.layers.data(name='im_info', shape=[3])
out = fluid.layers.box_clip(
input=boxes, im_info=im_info)
input=boxes, im_info=im_info)
\ No newline at end of file
......@@ -40,22 +40,23 @@ Bounding Box Coder
参数:
- **prior_box** (Variable) - 张量,默认float类型的张量。先验框是二维张量,维度为[M,4],存储M个框,每个框代表[xmin,ymin,xmax,ymax],[xmin,ymin]是先验框的左顶点坐标,如果输入数图像特征图,则接近坐标原点。[xmax,ymax]是先验框的右底点坐标
- **prior_box_var** (Variable|list|None) - 支持两种输入类型,一是二维张量,维度为[M,4],存储M个prior box。另外是一个含有4个元素的list,所有prior box共用这个list。
- **target_box** (Variable) - LoDTensor或者Tensor,当code_type为‘encode_center_size’,输入可以是二维LoDTensor,维度为[N,4]。当code_type为‘decode_center_size’输入可以为三维张量,维度为[N,M,4]。每个框代表[xmin,ymin,xmax,ymax],[xmin,ymin]是先验框的左顶点坐标,如果输入数图像特征图,则接近坐标原点。[xmax,ymax]是先验框的右底点坐标。该张量包含LoD信息,代表一批输入。批的一个实例可以包含不同的实体数。
- **code_type** (string,默认encode_center_size) - 编码类型用目标框,可以是encode_center_size或decode_center_size
- **box_normalized** (boolean,默认true) - 是否将先验框作为正则框
- **name** (string) – box编码器的名称
- **axis** (int) – 在PriorBox中为axis指定的轴broadcast以进行框解码,例如,如果axis为0且TargetBox具有形状[N,M,4]且PriorBox具有形状[M,4],则PriorBox将broadcast到[N,M,4]用于解码。 它仅在code_type为decode_center_size时有效。 默认设置为0。
- **prior_box** (Variable) - 维度为[M,4]的2-D Tensor,M表示存储M个框,数据类型为float32或float64。先验框,每个框代表[xmin,ymin,xmax,ymax],[xmin,ymin]是先验框的左顶点坐标,如果输入数图像特征图,则接近坐标原点。[xmax,ymax]是先验框的右底点坐
- **prior_box_var** (list|Variable|None) - 支持三种输入类型,一是维度为:math:`[M,4]`的2-D Tensor,存储M个先验框的variance,数据类型为float32或float64。另外是一个长度为4的列表,所有先验框共用这个列表中的variance,数据类型为float32或float64。为None时不参与计算。
- **target_box** (Variable) - 数据类型为float,double的Tensor或者LoDTensor,当code_type为‘encode_center_size’,输入是二维LoDTensor,维度为[N,4],N为目标框的个数,目标框的格式与先验框相同。当code_type为‘decode_center_size’,输>入为3-D Tensor,维度为[N,M,4]。通常N表示产生检测框的个数,M表示类别数。此时目标框为偏移量。
- **code_type** (str) - 编码类型用目标框,可以是encode_center_size或decode_center_size,默认值为`encode_center_size`
- **box_normalized** (bool) - 先验框坐标是否正则化,即是否在[0, 1]区间内。默认值为true
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
- **axis** (int32) – 在PriorBox中为axis指定的轴broadcast以进行框解码,例如,如果axis为0,TargetBox具有形状[N,M,4]且PriorBox具有形状[M,4],则PriorBox将broadcast到[N,M,4]用于解码。仅在code_type为decode_center_size时有效。默认值为0
返回:
- 表示解码或编码结果的Tensor或LoDTensor。数据类型为float32或float64。
- ``code_type`` 为 ``‘encode_center_size’`` 时,形状为[N,M,4]的编码结果,N为目标框的个数,M为先验框的个数。
- ``code_type`` 为 ``‘decode_center_size’`` 时,形状为[N,M,4]的解码结果,形状与输入目标框相同。
- ``code_type`` 为 ``‘encode_center_size’`` 时,形为[N,M,4]的输出张量代表N目标框的结果,目标框用M先验框和变量编码。
- ``code_type`` 为 ``‘decode_center_size’`` 时,N代表batch大小,M代表解码框数
返回类型:output_box(Variable)
返回类型:Variable
**代码示例**
......@@ -63,21 +64,31 @@ Bounding Box Coder
.. code-block:: python
import paddle.fluid as fluid
prior_box = fluid.layers.data(name='prior_box',
# For encode
prior_box_encode = fluid.layers.data(name='prior_box_encode',
shape=[512, 4],
dtype='float32',
append_batch_size=False)
target_box = fluid.layers.data(name='target_box',
target_box_encode = fluid.layers.data(name='target_box_encode',
shape=[81,4],
dtype='float32',
append_batch_size=False)
output_encode = fluid.layers.box_coder(prior_box=prior_box_encode,
prior_box_var=[0.1,0.1,0.2,0.2],
target_box=target_box_encode,
code_type="encode_center_size")
# For decode
prior_box_decode = fluid.layers.data(name='prior_box_decode',
shape=[512, 4],
dtype='float32',
append_batch_size=False)
target_box_decode = fluid.layers.data(name='target_box_decode',
shape=[512,81,4],
dtype='float32',
append_batch_size=False)
output = fluid.layers.box_coder(prior_box=prior_box,
output_decode = fluid.layers.box_coder(prior_box=prior_box_decode,
prior_box_var=[0.1,0.1,0.2,0.2],
target_box=target_box,
target_box=target_box_decode,
code_type="decode_center_size",
box_normalized=False,
axis=1)
axis=1)
\ No newline at end of file
......@@ -7,7 +7,7 @@ box_decoder_and_assign
边界框编码器。
根据prior_box来解码目标边界框。
根据先验框来解码目标边界框。
解码方案为:
......@@ -26,22 +26,22 @@ box decode过程得出decode_box,然后分配方案如下所述:
参数:
- **prior_box** (Variable) - (Tensor,默认Tensor <float>)框列表PriorBox是一个二维张量,形状为[N,4],它包含N个框,每个框表示为[xmin,ymin,xmax,ymax], [xmin,ymin]是anchor框的左上坐标,如果输入是图像特征图,则它们接近坐标系的原点。 [xmax,ymax]是anchor框的右下坐标
- **prior_box_var** (Variable) - (Tensor,默认Tensor <float>,可选)PriorBoxVar是一个二维张量,形状为[N,4],它包含N组variance。 PriorBoxVar默认将所有元素设置为1
- **target_box** (Variable) - (LoDTensor或Tensor)此输入可以是形状为[N,classnum * 4]的2-D LoDTensor。它拥有N个框的N个目标
- **box_score** (变量) - (LoDTensor或Tensor)此输入可以是具有形状[N,classnum]的2-D LoDTensor,每个框表示为[classnum],其中含有各分类概率值
- **box_clip** (FLOAT) - (float,默认4.135,np.log(1000. / 16.))裁剪框以防止溢出
- **name** (str | None) - 此算子的自定义名称
- **prior_box** (Variable) - 维度为[N,4]的2-D Tensor,包含N个框,数据类型为float32或float64。每个框表示为[xmin,ymin,xmax,ymax], [xmin,ymin]是anchor框的左上坐标,如果输入是图像特征图,则它们接近坐标系的原点。 [xmax,ymax]是anchor框的右下坐标
- **prior_box_var** (Variable) - 维度为[N,4]的2-D Tensor,包含N组variance。数据类型为float32或float64。 prior_box_var默认将所有元素设置为1
- **target_box** (Variable) - 维度为[N,classnum * 4]的2-D Tensor或LoDTensor,拥有N个目标框,数据类型为float32或float64。
- **box_score** (Variable) - 维度为[N,classnum]的2-D Tensor或LoDTensor,拥有N个目标框,数据类型为float32或float64。表示每个框属于各分类概率值。
- **box_clip** (float32) - 裁剪框以防止溢出,默认值为4.135(即np.log(1000. / 16.))
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
返回:
返回:两个变量:
- 表示解压检测框的Tensor或LoDTensor,数据类型为float32,float64。维度为[N,classnum * 4],N个prior_box解码得到的N个目标框的结果。
- 表示输出最佳检测框的Tensor或LoDTensor,数据类型为float32,float64。维度为[N,4],N个prior_box解码后得到目标框,再选择最佳非背景类的目标框结果。
- decode_box(Variable):( LoDTensor或Tensor)op的输出张量,形为[N,classnum * 4],表示用M个prior_box解码的N个目标框的结果,以及每个类上的variance
- output_assign_box(Variable):( LoDTensor或Tensor)op的输出张量,形为[N,4],表示使用M个prior_box解码的N个目标框的结果和BoxScore的最佳非背景类的方差
返回类型: decode_box(Variable), output_assign_box(Variable)
返回类型:Tuple
**代码示例**
......@@ -60,6 +60,3 @@ box decode过程得出decode_box,然后分配方案如下所述:
decoded_box, output_assign_box = fluid.layers.box_decoder_and_assign(
pb, pbv, loc, scores, 4.135)
......@@ -16,13 +16,14 @@ ClipByNorm算子
参数:
- **x** (Variable)- (Tensor) clip_by_norm运算的输入,维数必须在[1,9]之间。
- **max_norm** (float)- 最大范数值。
- **name** (basestring | None)- 输出的名称
- **x** (Variable)- 多维Tensor或LoDTensor,数据类型为float32。clip_by_norm运算的输入,维数必须在[1,9]之间。
- **max_norm** (float32)- 最大范数值。
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None
返回: (Tensor)clip_by_norm操作后的输出和输入(X)具有形状(shape).
返回: 表示为输出Tensor或LoDTensor,数据类型为float32。和输入(X)具有相同的形状.
返回类型: Variable
返回类型:Variable
**代码示例:**
......
......@@ -25,14 +25,10 @@ clip算子限制给定输入的值在一个区间内。间隔使用参数"min"
**代码示例:**
.. code-block:: python
import paddle.fluid as fluid
input = fluid.layers.data(
name='data', shape=[1], dtype='float32')
reward = fluid.layers.clip(x=input, min=-1.0, max=1.0)
......@@ -5,24 +5,26 @@ collect_fpn_proposals
.. py:function:: paddle.fluid.layers.collect_fpn_proposals(multi_rois, multi_scores, min_level, max_level, post_nms_top_n, name=None)
连接多级RoIs(感兴趣区域)并依据multi_scores选择N个RoIs。此操作执行以下步骤:
**该op仅支持LoDTensor输入**。连接多级RoIs(感兴趣区域)并依据multi_scores选择N个RoIs。此操作执行以下步骤:
1、选择num_level个RoIs和scores作为输入:num_level = max_level - min_level
2、连接num_level个RoIs和scores。
3、整理scores并选择post_nms_top_n个scores。
4、通过scores中的选定指数收集RoIs。
5、通过对应的batch_id重新整理RoIs
3、对scores排序并选择post_nms_top_n个scores。
4、通过scores中的选定位置收集RoIs。
5、通过对应的batch_id重新对RoIs排序
参数:
- **multi_ros** (list) – 要收集的RoIs列表
- **multi_ros** (list) – 要收集的RoIs列表,列表中的元素为[N, 4]的2-D LoDTensor, 数据类型为float,double,其中N为RoI的个数。
- **multi_scores** (list) - 要收集的FPN层的最低级
- **max_level** (int) – 要收集的FPN层的最高级
- **post_nms_top_n** (int) – 所选RoIs的数目
- **name** (str|None) – 该层的名称(可选项)
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
返回:选定RoIs的输出变量
返回:表示选定具有高分数的RoIs的LoDTensor,数据类型为float32或float64,同时具有LoD信息,维度为[M, 4],其中M为post_nms_top_n。
返回类型:Variable
返回类型:变量(Variable)
**代码示例**
......@@ -37,14 +39,10 @@ collect_fpn_proposals
for i in range(4):
multi_scores.append(fluid.layers.data(
name='score_'+str(i), shape=[1], dtype='float32', lod_level=1))
fpn_rois = fluid.layers.collect_fpn_proposals(
multi_rois=multi_rois,
multi_scores=multi_scores,
min_level=2,
max_level=5,
post_nms_top_n=2000)
......@@ -5,7 +5,7 @@ distribute_fpn_proposals
.. py:function:: paddle.fluid.layers.distribute_fpn_proposals(fpn_rois, min_level, max_level, refer_level, refer_scale, name=None)
在 Feature Pyramid Networks(FPN)模型中,需要将所有proposal分配到不同的FPN级别,包括proposal的比例,引用比例和引用级别。 此外,为了恢复proposals的顺序,我们返回一个数组,该数组表示当前proposals中的原始RoIs索引。 要计算每个RoI的FPN级别,公式如下:
**该op仅支持LoDTensor输入**。在 Feature Pyramid Networks(FPN)模型中,需要依据proposal的尺度和参考尺度与级别将所有proposal分配到不同的FPN级别中。 此外,为了恢复proposals的顺序,我们返回一个数组,该数组表示当前proposals中的原始RoIs索引。 要计算每个RoI的FPN级别,公式如下:
.. math::
roi\_scale &= \sqrt{BBoxArea(fpn\_roi)}\\
......@@ -15,16 +15,20 @@ distribute_fpn_proposals
参数:
- **fpn_rois** (variable) - 输入fpn_rois,第二个维度为4。
- **min_level** (int) - 产生proposal最低级别FPN层。
- **max_level** (int) - 产生proposal最高级别FPN层。
- **refer_level** (int) - 具有指定比例的FPN层的引用级别。
- **refer_scale** (int) - 具有指定级别的FPN层的引用比例。
- **name** (str | None) - 此算子的名称
- **fpn_rois** (Variable) - 维度为[N,4]的2-D LoDTensor,其中N为检测框的个数,数据类型为float32或float64。
- **min_level** (int32) - 产生proposal最低级别FPN层。
- **max_level** (int32) - 产生proposal最高级别FPN层。
- **refer_level** (int32) - 具有指定比例的FPN层的引用级别。
- **refer_scale** (int32) - 具有指定级别的FPN层的引用比例。
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None
返回:返回一个元组(multi_rois,restore_ind)。 multi_rois是分段张量变量的列表。 restore_ind是具有形状[N,1]的2D张量,N是总rois的数量。 它用于恢复fpn_rois的顺序。
返回:
返回类型: tuple
- multi_rois(List)- 长度为(max_level-min_level+1)的列表,其中元素为Variable,维度为[M, 4]的2-D LoDTensor,M为每个级别proposal的个数,数据类型为float32或float64。表示每个FPN级别包含的proposals。
- restore_ind(Variable)- 维度为[N,1]的Tensor,N是总rois的数量。数据类型为int32。 它用于恢复fpn_rois的顺序。
返回类型:Tuple
**代码示例**:
......@@ -40,6 +44,3 @@ distribute_fpn_proposals
max_level=5,
refer_level=4,
refer_scale=224)
......@@ -22,16 +22,19 @@ maxout
- Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks: https://arxiv.org/pdf/1312.6082v4.pdf
参数:
- **x** (Variable) - (tensor) maxout算子的输入张量。输入张量的格式为NCHW。其中N为 batch size ,C为通道数,H和W为feature的高和宽
- **groups** (INT)- 指定将输入张量的channel通道维度进行分组的数目。输出的通道数量为通道数除以组数。
- **name** (basestring|None) - 输出的名称
- **x** (Variable) - 维度为[N,C,H,W]的4-D Tensor,其中N为 batch size ,C为通道数,H和W为特征图的高和宽。数据类型为float32。maxout算子的输入张量。
- **groups** (int32)- 指定将输入张量的channel通道维度进行分组的数目。输出的通道数量为通道数除以组数。
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
返回:Tensor,maxout算子的输出张量。输出张量的格式也是NCHW。其中N为 batch size,C为通道数,H和W为特征的高和宽。
返回类型:out(Variable)
返回:表示为输出的Tensor,数据类型为float32。输出维度也是NCHW。其中N为 batch size,C为通道数,H和W为特征的高和宽。
返回类型:Variable
**代码示例**:
.. code-block:: python
import paddle.fluid as fluid
......@@ -40,13 +43,3 @@ maxout
shape=[256, 32, 32],
dtype='float32')
out = fluid.layers.maxout(input, groups=2)
......@@ -20,14 +20,17 @@ prelu
参数:
- **x** (Variable)- 输入为Tensor
- **mode** (string) - 权重共享模式。
- **param_attr** (ParamAttr|None) - 可学习权重 :math:`[\alpha]` 的参数属性,可由ParamAttr创建
- **name** (str | None)- 这一层的名称(可选)。如果设置为None,则将自动命名这一层
- **x** (Variable)- 多维Tensor或LoDTensor,数据类型为float32
- **mode** (str) - 权重共享模式。
- **param_attr** (ParamAttr,可选) - 可学习权重 :math:`[\alpha]` 的参数属性,可由ParamAttr创建。默认值为None,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_fluid_ParamAttr`
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None
返回: 输出Tensor与输入shape相同。
返回类型: 变量(Variable)
返回: 表示激活输出Tensor或LoDTensor,数据类型为float32。与输入形状相同。
返回类型:Variable
**代码示例:**
......@@ -41,5 +44,3 @@ prelu
x,mode,param_attr=ParamAttr(name='alpha'))
......@@ -12,20 +12,24 @@ Region of Interests align(直译:有意义、有价值选区对齐) 用于实
该运算通过 ``pooled_width`` 和 ``pooled_height`` 将每个推荐区域划分为等大小分块。位置保持不变。
在每个RoI框中,四个常取样位置会通过双线性插值直接计算。输出为这四个位置的平均值从而解决不对齐问题。
在每个RoI分块中,分别取sampling_ratio个点(若为-1则取框内所有点),每个点通过双线性插值直接计算得到坐标。再对分块内取的点取平均值作为小框的坐标值。坐标对齐有误的问题。
参数:
- **input** (Variable) – (Tensor) 该运算的的输入张量,形为(N,C,H,W)。其中 N 为batch大小, C 为输入通道的个数, H 特征高度, W 特征宽度
- **rois** (Variable) – 待池化的ROIs (Regions of Interest),形为(num_rois,4)的2D张量,lod level 为1。给定比如[[x1,y1,x2,y2], ...],(x1,y1)为左上点坐标,(x2,y2)为右下点坐标。
- **pooled_height** (integer) – (默认为1), 池化后的输出高度
- **pooled_width** (integer) – (默认为1), 池化后的输出宽度
- **spatial_scale** (float) – (默认为1.0),乘法性质空间标尺因子,池化时,将RoI坐标变换至运算采用的标度
- **sampling_ratio** (intger) – (默认为-1),插值格中采样点的数目。 如果它 <=0, 它们将自适应 ``roi_width`` 和 ``pooled_w`` , 在高度上也是同样的道理。
- **input** (Variable) – 维度为[N,C,H,W]的4-D Tensor,N 为batch大小, C 为输入通道的个数, H 特征高度, W 特征宽度。数据类型为float32或float64。
- **rois** (Variable) – 维度为[num_rois,4]2-D LoDTensor,数据类型为float32或float64。待池化的ROIs (Regions of Interest),lod level 为1。给定比如[[x1,y1,x2,y2], ...],(x1,y1)为左上点坐标,(x2,y2)为右下点坐标。
- **pooled_height** (int32,可选) – 池化后的输出高度,默认值为1。
- **pooled_width** (int32,可选) – 池化后的输出宽度,默认值为1。
- **spatial_scale** (float32,可选) – 乘法性质空间标尺因子,池化时,将RoI坐标变换至运算采用的标度,默认值为1.0。
- **sampling_ratio** (int32) – 插值格中采样点的数目。 如果它 <=0, 它们将自适应 ``roi_width`` 和 ``pooled_w`` , 在高度上也是同样的道理。默认值为-1
- **name** (str,可选) – 该参数供开发人员打印调试信息时使用,具体用法请参见 :ref:`api_guide_Name` ,默认值为None。
返回:表示RoI align输出的LoDTensor,数据类型为float32或float64,维度为 (num_rois, channels, pooled_h, pooled_w)
返回:一个形为 (num_rois, channels, pooled_h, pooled_w) 的四维张量
返回类型:Variable
**代码示例**
.. code-block:: python
......@@ -42,13 +46,3 @@ Region of Interests align(直译:有意义、有价值选区对齐) 用于实
spatial_scale=0.5,
sampling_ratio=-1)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册