diff --git a/doc/fluid/api_cn/layers_cn/anchor_generator_cn.rst b/doc/fluid/api_cn/layers_cn/anchor_generator_cn.rst index b6bd703a474d4f0edf4046ebc3723fb43453e941..489c92e628041a469910fc2bc85bb75e368391bc 100644 --- a/doc/fluid/api_cn/layers_cn/anchor_generator_cn.rst +++ b/doc/fluid/api_cn/layers_cn/anchor_generator_cn.rst @@ -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 diff --git a/doc/fluid/api_cn/layers_cn/bipartite_match_cn.rst b/doc/fluid/api_cn/layers_cn/bipartite_match_cn.rst index 3a0ae72cff3b057ed8a011395b6a3937fe4a3d43..bad589b02d3f8564ca19195ecf962eafce41c64f 100644 --- a/doc/fluid/api_cn/layers_cn/bipartite_match_cn.rst +++ b/doc/fluid/api_cn/layers_cn/bipartite_match_cn.rst @@ -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 diff --git a/doc/fluid/api_cn/layers_cn/box_clip_cn.rst b/doc/fluid/api_cn/layers_cn/box_clip_cn.rst index 34557712c1a531ff3fed990403d9a118ab73a2e4..ec5403e37db0d97711371097286c681177ec7346 100644 --- a/doc/fluid/api_cn/layers_cn/box_clip_cn.rst +++ b/doc/fluid/api_cn/layers_cn/box_clip_cn.rst @@ -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 diff --git a/doc/fluid/api_cn/layers_cn/box_coder_cn.rst b/doc/fluid/api_cn/layers_cn/box_coder_cn.rst index 3fb3f5119ab68ed2dde1b42519adef466f0c71f0..6e989548d2577ebc9dba0dfd52b9f3dba3680c03 100644 --- a/doc/fluid/api_cn/layers_cn/box_coder_cn.rst +++ b/doc/fluid/api_cn/layers_cn/box_coder_cn.rst @@ -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 diff --git a/doc/fluid/api_cn/layers_cn/box_decoder_and_assign_cn.rst b/doc/fluid/api_cn/layers_cn/box_decoder_and_assign_cn.rst index 89909d66734e23529f20b87997ca703b6b8b520f..c8d34c214af4da5e646939509fb5d0386a0deca2 100644 --- a/doc/fluid/api_cn/layers_cn/box_decoder_and_assign_cn.rst +++ b/doc/fluid/api_cn/layers_cn/box_decoder_and_assign_cn.rst @@ -7,7 +7,7 @@ box_decoder_and_assign 边界框编码器。 -根据prior_box来解码目标边界框。 +根据先验框来解码目标边界框。 解码方案为: @@ -26,22 +26,22 @@ box decode过程得出decode_box,然后分配方案如下所述: - 参数: - - **prior_box** (Variable) - (Tensor,默认Tensor )框列表PriorBox是一个二维张量,形状为[N,4],它包含N个框,每个框表示为[xmin,ymin,xmax,ymax], [xmin,ymin]是anchor框的左上坐标,如果输入是图像特征图,则它们接近坐标系的原点。 [xmax,ymax]是anchor框的右下坐标 - - **prior_box_var** (Variable) - (Tensor,默认Tensor ,可选)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) - - - diff --git a/doc/fluid/api_cn/layers_cn/clip_by_norm_cn.rst b/doc/fluid/api_cn/layers_cn/clip_by_norm_cn.rst index d327ca773f42ff8db76ef25000c120afcb63571c..f65aa03e222e89b60a3a235c6a2c38a3d3fd73de 100644 --- a/doc/fluid/api_cn/layers_cn/clip_by_norm_cn.rst +++ b/doc/fluid/api_cn/layers_cn/clip_by_norm_cn.rst @@ -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 **代码示例:** diff --git a/doc/fluid/api_cn/layers_cn/clip_cn.rst b/doc/fluid/api_cn/layers_cn/clip_cn.rst index 54329119fed0dd9c4b4fca4ff65a7cb397c2e789..7f9c592e674c760fad2fc76cc01c8c8615f9fe71 100644 --- a/doc/fluid/api_cn/layers_cn/clip_cn.rst +++ b/doc/fluid/api_cn/layers_cn/clip_cn.rst @@ -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) - - - - diff --git a/doc/fluid/api_cn/layers_cn/collect_fpn_proposals_cn.rst b/doc/fluid/api_cn/layers_cn/collect_fpn_proposals_cn.rst index 66ebf80e85a72123b4a30064d738b2e7d25da04e..e1773ffef9a91badbd7954b15c7e61799115107a 100644 --- a/doc/fluid/api_cn/layers_cn/collect_fpn_proposals_cn.rst +++ b/doc/fluid/api_cn/layers_cn/collect_fpn_proposals_cn.rst @@ -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) - - - - diff --git a/doc/fluid/api_cn/layers_cn/distribute_fpn_proposals_cn.rst b/doc/fluid/api_cn/layers_cn/distribute_fpn_proposals_cn.rst index 5279ebbe016c3f33f804050c506a8a4cfcdc8fab..54edf9144efe9c55035bc2795d4a892dfe3bd539 100644 --- a/doc/fluid/api_cn/layers_cn/distribute_fpn_proposals_cn.rst +++ b/doc/fluid/api_cn/layers_cn/distribute_fpn_proposals_cn.rst @@ -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) - - - diff --git a/doc/fluid/api_cn/layers_cn/maxout_cn.rst b/doc/fluid/api_cn/layers_cn/maxout_cn.rst index f48b933e7992154b67288c2cad260ff2aaba4d41..9ee924aba8cdd577d0cec4c3961b990827a013ca 100644 --- a/doc/fluid/api_cn/layers_cn/maxout_cn.rst +++ b/doc/fluid/api_cn/layers_cn/maxout_cn.rst @@ -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) - - - - - - - - - - diff --git a/doc/fluid/api_cn/layers_cn/prelu_cn.rst b/doc/fluid/api_cn/layers_cn/prelu_cn.rst index 422032a72310008ca4e8c5650c32ac1758b9cd05..dcdb36861358cb39dcc28281603878c87edcea77 100644 --- a/doc/fluid/api_cn/layers_cn/prelu_cn.rst +++ b/doc/fluid/api_cn/layers_cn/prelu_cn.rst @@ -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')) - - diff --git a/doc/fluid/api_cn/layers_cn/roi_align_cn.rst b/doc/fluid/api_cn/layers_cn/roi_align_cn.rst index 333383e3b570c133686b1384be33ef43e4f8a663..b8d63a2d2991f61faac664701824e00d7e3a7b19 100644 --- a/doc/fluid/api_cn/layers_cn/roi_align_cn.rst +++ b/doc/fluid/api_cn/layers_cn/roi_align_cn.rst @@ -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) - - - - - - - - - -