From d71f3c1d9aec7e08ff2db4486000f121efcfd069 Mon Sep 17 00:00:00 2001 From: Tink_Y <31891223+tink2123@users.noreply.github.com> Date: Tue, 18 Dec 2018 18:09:17 +0800 Subject: [PATCH] Update cn_api (#496) (#504) [cherry-pick] Update cn_api from develop to release/1.2 --- doc/fluid/api_cn/fluid_cn.rst | 19 +- doc/fluid/api_cn/layers_cn.rst | 326 ++++++++++++++++++----------- doc/fluid/api_cn/metrics_cn.rst | 4 +- doc/fluid/api_cn/optimizer_cn.rst | 7 +- doc/fluid/api_cn/profiler_cn.rst | 4 +- doc/fluid/api_cn/transpiler_cn.rst | 2 +- 6 files changed, 217 insertions(+), 145 deletions(-) diff --git a/doc/fluid/api_cn/fluid_cn.rst b/doc/fluid/api_cn/fluid_cn.rst index 2bf0c08ad..228c9c6b6 100644 --- a/doc/fluid/api_cn/fluid_cn.rst +++ b/doc/fluid/api_cn/fluid_cn.rst @@ -9,7 +9,7 @@ AsyncExecutor ------------------------------- -.. py:function:: paddle.fluid.AsyncExecutor(place=None) +.. py:class:: paddle.fluid.AsyncExecutor(place=None) Python中的异步执行器。AsyncExecutor利用多核处理器和数据排队的强大功能,使数据读取和融合解耦,每个线程并行运行。 @@ -122,8 +122,9 @@ str类型。在 ``ParallelExecutor`` 中,存在三种定义 *loss@grad* 的方 str类型。在 ``ParallelExecutor`` 中,存在两种减少策略(reduce strategy),即 ``AllReduce`` 和 ``Reduce`` 。如果你需要在所有执行场所上独立地进行参数优化,可以使用 ``AllReduce`` 。反之,如果使用 ``Reduce`` 策略,所有参数的优化将均匀地分配给不同的执行场所,随之将优化后的参数广播给其他执行场所。在一些模型中, ``Reduce`` 策略执行速度更快一些。默认值为 ``AllReduce`` 。 +.. py:attribute:: remove_unnecessary_lock - +BOOL类型。如果设置为True, GPU操作中的一些锁将被释放,ParallelExecutor将运行得更快,默认为 False。 @@ -270,7 +271,7 @@ CUDAPlace DataFeedDesc ------------------------------- -.. py:function:: paddle.fluid.DataFeedDesc(proto_file) +.. py:class:: paddle.fluid.DataFeedDesc(proto_file) 数据描述符,描述输入训练数据格式。 @@ -324,7 +325,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含 - **proto_file** (string) - 包含数据feed中描述的磁盘文件 -.. py:method:: set_batch_size(self, batch_size) +.. py:method:: set_batch_size(batch_size) 设置batch size,训练期间有效 @@ -339,7 +340,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含 data_feed = fluid.DataFeedDesc('data.proto') data_feed.set_batch_size(128) -.. py:method:: set_dense_slots(self, dense_slots_name) +.. py:method:: set_dense_slots(dense_slots_name) 指定slot经过设置后将变成密集的slot,仅在训练期间有效。 @@ -360,7 +361,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含 默认情况下,所有slot都是稀疏的 -.. py:method:: set_use_slots(self, use_slots_name) +.. py:method:: set_use_slots(use_slots_name) 设置一个特定的slot是否用于训练。一个数据集包含了很多特征,通过这个函数可以选择哪些特征将用于指定的模型。 @@ -380,7 +381,7 @@ DataFeedDesc也可以在运行时更改。一旦你熟悉了每个字段的含 默认值不用于所有slot -.. py:method:: desc(self) +.. py:method:: desc() 返回此DataFeedDesc的protobuf信息 @@ -1231,10 +1232,10 @@ ParamAttr Program ------------------------------- -.. py:function:: paddle.fluid.Program +.. py:class:: paddle.fluid.Program -创建python program, 在paddleFluid内部会被转换为ProgramDesc描述语言,是被用来创建c++ Program。Program像容器一样也是一种独立的程序语言。Program包括至少一个块(Block),控制流比如conditional_block包括while_op,该Program将会含有嵌套块(nested block)。详情请参阅framework.proto。 +创建python program, 在paddleFluid内部会被转换为ProgramDesc描述语言,用来创建一段 c++ 程序。Program像容器一样,是一种自包含的程序语言。Program中包括至少一个块(Block),当 block 中存在条件选择的控制流op(例如 while_op)时,该Program将会含有嵌套块(nested block)。详情请参阅framework.proto。 注意:默认情况下,paddleFluid内部默认含有 ``default_startup_program`` 和 ``default_main_program`` ,它们将共享参数。 ``default_startup_program`` 只运行一次来初始化参数, ``default_main_program`` 在每个mini batch中运行并调整权重。 diff --git a/doc/fluid/api_cn/layers_cn.rst b/doc/fluid/api_cn/layers_cn.rst index f475bb6ab..536ec0b7b 100644 --- a/doc/fluid/api_cn/layers_cn.rst +++ b/doc/fluid/api_cn/layers_cn.rst @@ -354,7 +354,7 @@ equal IfElse ------------------------------- -.. py:function:: paddle.fluid.layers.IfElse(cond, name=None) +.. py:class:: paddle.fluid.layers.IfElse(cond, name=None) if-else控制流。 @@ -633,7 +633,7 @@ StaticRNN Switch ------------------------------- -.. py:function:: paddle.fluid.layers.Switch (name=None) +.. py:class:: paddle.fluid.layers.Switch (name=None) Switch类实现的功能十分类似if-elif-else。它可以在学习率调度器(learning rate scheduler)中调整学习率。 :: @@ -689,7 +689,7 @@ Switch类实现的功能十分类似if-elif-else。它可以在学习率调度 While ------------------------------- -.. py:function:: paddle.fluid.layers.While (cond, is_test=False, name=None) +.. py:class:: paddle.fluid.layers.While (cond, is_test=False, name=None) 该类用于实现while循环控制功能。 @@ -1669,7 +1669,7 @@ bilinear_tensor_product 例如: .. math:: - out{i} = x * W_{i} * {y^\mathrm{T}}, i=0,1,...,size-1 + out_{i} = x * W_{i} * {y^\mathrm{T}}, i=0,1,...,size-1 在这个公式中: - :math:`x`: 第一个输入,包含M个元素,形状为[batch_size, M] @@ -2646,7 +2646,7 @@ dropout操作 dropout操作符可以从程序中移除,程序变得高效。 -返回:带有x维的张量 +返回:与输入X,shape相同的张量 返回类型:变量 @@ -3592,6 +3592,8 @@ fc flatten ------------------------------- +.. py:function:: paddle.fluid.layers.flatten(x, axis=1, name=None) + 将输入张量压扁成二维矩阵 例如: @@ -3713,7 +3715,11 @@ gaussian_random算子。 返回类型: 输出(Variable) - +**代码示例:** + +.. code-block:: python + + out = layers.gaussian_random(shape=[20, 30]) @@ -3747,7 +3753,14 @@ gaussian_random_batch_size_like +**代码示例:** +.. code-block:: python + + input = layers.data(name="input", shape=[13, 11], dtype='float32') + + out = layers.gaussian_random_batch_size_like( + input, shape=[-1, 11], mean=1.0, std=2.0) @@ -4236,6 +4249,7 @@ image_resize 支持重新取样方法: BILINEAR:双线性插值 + NEAREST:最近邻插值 参数: @@ -4495,27 +4509,31 @@ linear_chain_crf 该操作符实现了线性链条件随机场(linear chain CRF)的前向——反向算法。详情请参照 http://www.cs.columbia.edu/~mcollins/fb.pdf 和 http://cseweb.ucsd.edu/~elkan/250Bwinter2012/loglinearCRFs.pdf。 -公式: - 1.这里x代表Emission +长度为L的序列s的概率定义如下: + +.. math:: + + P(s) = (1/Z) exp(a_{s_1} + b_{s_L} + sum_{l=1}^L x_{s_l} + sum_{l=2}^L w_{s_{l-1},s_l}) - 2.Transition的第一维度值,代表起始权重,这里用a表示 - 3.Transition的下一维值,代表末尾权重,这里用b表示 +其中Z是正则化值,所有可能序列的P(s)之和为1,x是线性链条件随机场(linear chain CRF)的发射(emission)特征权重。 - 4.Transition剩下的值,代表转移权重,这里用w表示 +线性链条件随机场最终输出mini-batch每个训练样本的条件概率的对数 - 5.Label用s表示 - 长度为L的序列s的概率定义如下: + 1.这里 :math:`x` 代表Emission -.. math:: + 2.Transition的第一维度值,代表起始权重,这里用 :math:`a` 表示 - P(s) = (1/Z)exp(a_{s_{1}}+b_{s_{L}}+sum_{L}^{l=1}x_{s+{l}}+sum_{L}^{l=2}w_{s_{l-1},s_{l}}) + 3.Transition的下一维值,代表末尾权重,这里用 :math:`b` 表示 -其中Z是正则化值,所有可能序列的P(s)之和为1,x是线性链条件随机场(linear chain CRF)的发射(emission)特征权重。 + 4.Transition剩下的值,代表转移权重,这里用 :math:`w` 表示 + + 5.Label用 :math:`s` 表示 + + -线性链条件随机场最终输出mini-batch每个训练样本的条件概率的对数 **注意:** @@ -4620,7 +4638,7 @@ lod_reset 返回类型:变量 -提示:抛出异常 - 如果y和target_lod都为空 +抛出异常:``TypeError`` - 如果y和target_lod都为空 **代码示例**: @@ -5150,7 +5168,7 @@ matmul 当前输入的张量可以为任意阶,但当任意一个输入的阶数大于3时,两个输入的阶必须相等。 实际的操作取决于x,y的维度和 ``transpose_x`` , ``transpose_y`` 的标记值。具体如下: -- 如果transpose值为真,则对应 ``tensor`` 的最后两位将被转置。如:x是一个shape=[D]的一阶张量,那么x在非转置形式中为[1,D],在转置形式中为[D,1],而y则相反,在非转置形式中作为[D,1],在转置形式中作为[1,D]。 +- 如果transpose值为真,则对应 ``tensor`` 的最后两维将被转置。如:x是一个shape=[D]的一阶张量,那么x在非转置形式中为[1,D],在转置形式中为[D,1],而y则相反,在非转置形式中作为[D,1],在转置形式中作为[1,D]。 - 转置后,这两个`tensors`将为 2-D 或 n-D ,并依据下列规则进行矩阵相乘: - 如果两个都是2-D,则同普通矩阵一样进行矩阵相乘 @@ -5163,7 +5181,7 @@ matmul - **x** (Variable)-输入变量,类型为Tensor或LoDTensor - **y** (Variable)-输入变量,类型为Tensor或LoDTensor - **transpose_x** (bool)-相乘前是否转置x - - **transeptse_y** (bool)-相乘前是否转置y + - **transpose_y** (bool)-相乘前是否转置y - **alpha** (float)-输出比例。默认为1.0 - **name** (str|None)-该层名称(可选)。如果设置为空,则自动为该层命名 @@ -5218,10 +5236,10 @@ maxout y_{si+j} &= \max_k x_{gsi + sk + j} \\ g &= groups \\ - s &= \frac{input.size}{num_channels} \\ - 0 &\le i < \frac{num_channels}{groups} \\ - 0 &\le j < s \\ - 0 &\le k < groups + s &= \frac{input.size}{num\_channels} \\ + 0 \le &i < \frac{num\_channels}{groups} \\ + 0 \le &j < s \\ + 0 \le &k < groups 请参阅论文: @@ -5281,7 +5299,7 @@ mean_iou 均值IOU(Mean Intersection-Over-Union)是语义图像分割中的常用的评价指标之一,它首先计算每个语义类的IOU,然后计算类之间的平均值。定义如下: - .. math:: IOU = \frac{true_positi}{true_positive+false_positive+false_negative} + .. math:: IOU = \frac{true_{positive}}{true_{positive}+false_{positive}+false_{negative}} 在一个混淆矩阵中累积得到预测值,然后从中计算均值-IOU。 @@ -5886,6 +5904,10 @@ pow 指数激活算子(Pow Activation Operator.) +.. math:: + + out = x^{factor} + 参数 - **x** (Variable) - Pow operator的输入 - **factor** (FLOAT|1.0) - Pow的指数因子 @@ -6643,7 +6665,17 @@ sampling_id算子。用于从输入的多项分布中对id进行采样的图层 返回类型: 输出(Variable)。 - +**代码示例:** + +.. code-block:: python + + x = layers.data( + name="X", + shape=[13, 11], + dtype='float32', + append_batch_size=False) + + out = layers.sampling_id(x) @@ -6792,8 +6824,8 @@ sequence_concat sequence_concat操作通过序列信息连接LoD张量(Tensor)。例如:X1的LoD = [0,3,7],X2的LoD = [0,7,9],结果的LoD为[0,(3 + 7),(7 + 9)],即[0,10,16]。 参数: - - **input** (list) – List of Variables to be concatenated. - - **name** (str|None) – A name for this layer(optional). If set None, the layer will be named automatically. + - **input** (list) – 要连接变量的列表 + - **name** (str|None) – 此层的名称(可选)。如果没有设置,该层将被自动命名。 返回: 连接好的输出变量。 @@ -6971,7 +7003,7 @@ sequence_expand_as Sequence Expand As Layer -这一层将根据y的第0级lod展开输入变量x。当前实现要求输入(Y)的lod层数必须为1,输入(X)的第一维应当和输入(Y)的第0层lod的大小相同,不考虑输入(X)的lod。 +这一层将根据y的第0级lod扩展输入变量x。当前实现要求输入(Y)的lod层数必须为1,输入(X)的第一维应当和输入(Y)的第0层lod的大小相同,不考虑输入(X)的lod。 以下示例解释sequence_expand如何工作: @@ -6989,6 +7021,23 @@ Sequence Expand As Layer Out.data = [[a], [a], [a], [b], [b], [b], [c], [d]] Out.dims = [8, 1] + *例2 + + 给定一个 input(X): + X.data = [[a, b], [c, d], [e, f]] + X.dims = [3, 2] + + 和 input(Y): + Y.lod = [[0, 2, 3, 6]] + ref_level: 0 + + 得到输出张量: + + Out.lod = [[0, 2, 3, 6]] + Out.data = [[a, b], [a, b] [c, d], [e, f], [e, f], [e, f]] + Out.dims = [6, 2] + + 参数: - **x** (Variable) - 输入变量,类型为Tensor或LoDTensor - **y** (Variable) - 输入变量,为LoDTensor @@ -7112,9 +7161,11 @@ sequence_last_step sequence_mask ------------------------------- -该层根据输入 ``x`` 和 ```maxlen`` 输出一个掩码,数据类型为dtype。 +.. py:function:: paddle.fluid.layers.sequence_mask(x, maxlen=None, dtype='int64', name=None) + +该层根据输入 ``x`` 和 ``maxlen`` 输出一个掩码,数据类型为dtype。 -假设x是一个形状为[d_1, d_2,…]的张量。, y是一个形为[d_1, d_2,… ,d_n, maxlen]的掩码,其中: +假设x是一个形状为[d_1, d_2,…, d_n]的张量。, y是一个形为[d_1, d_2,… ,d_n, maxlen]的掩码,其中: .. math:: @@ -7437,8 +7488,8 @@ sequence_scatter 参数: - **input** (Variable) - input 秩(rank) >= 1。 - - **index** (Variable) - index 秩(rank)=1。由于用于索引dtype应该是int32或int64。 - - **updates** (Variable) - input需要被更新的值。 + - **index** (Variable) - LoD Tensor, index 是 sequence scatter op 的输入索引,该函数的input将依据index进行更新。 秩(rank)=1。由于用于索引dtype应该是int32或int64。 + - **updates** (Variable) - 一个 LoD Tensor , update 的值将被 sactter 到输入x。update 的 LoD信息必须与index一致。 - **name** (str|None) - 输出变量名。默认:None。 返回: 输出张量维度应该和输入张量相同 @@ -7646,7 +7697,13 @@ shape算子 返回类型: 输出(Variable)。 - +**代码示例:** + +.. code-block:: python + + input = layers.data( + name="input", shape=[3, 100, 100], dtype="float32") + out = layers.shape(input) @@ -7845,7 +7902,18 @@ slice算子。 返回类型: 输出(Variable)。 +**代码示例:** + +.. code-block:: python + + starts = [1, 0, 2] + ends = [3, 3, 4] + axes = [0, 1, 2] + input = layers.data( + name="input", shape=[3, 4, 5, 6], dtype='float32') + + out = layers.slice(input, axes=axes, starts=starts, ends=ends) @@ -7860,7 +7928,7 @@ smooth_l1 .. py:function:: paddle.fluid.layers.smooth_l1(x, y, inside_weight=None, outside_weight=None, sigma=None) -该layer计算变量x1和y 的smooth L1 loss,它以x和y的第一维大小作为批处理大小。对于每个实例,按元素计算smooth L1 loss,然后计算所有loss。输出变量的形状是[batch_size, 1] +该layer计算变量 ``x`` 和 ``y`` 的smooth L1 loss,它以 ``x`` 和 ``y`` 的第一维大小作为批处理大小。对于每个实例,按元素计算smooth L1 loss,然后计算所有loss。输出变量的形状是[batch_size, 1] 参数: @@ -7942,7 +8010,7 @@ softmax操作符计算k维向量输入中所有其他维的指数和指数值的 .. math:: - Out[i,j] = \frac{exp(X[i,j])}{\sum{j}_exp(X[i,j])} + Out[i,j] = \frac{exp(X[i,j])}{\sum_j exp(X[i,j])} 参数: - **input** (Variable) - 输入变量 @@ -8161,7 +8229,7 @@ square_error_cost **代码示例**: - .. code-block:: python +.. code-block:: python y = layers.data(name='y', shape=[1], dtype='float32') y_predict = layers.data(name='y_predict', shape=[1], dtype='float32') @@ -8311,7 +8379,12 @@ sum算子。 返回类型: Variable +**代码示例:** +.. code-block:: python + + input = layers.data(name="input", shape=[13, 11], dtype='float32') + out = layers.sum(input) @@ -8329,10 +8402,10 @@ swish Swish 激活函数 .. math:: - \\out = \frac{x}{e^(1+betax)}\\ + out = \frac{x}{1 + e^{- beta x}} 参数: - - **x** (Variable) - Swishoperator的输入 + - **x** (Variable) - Swish operator 的输入 - **beta** (浮点|1.0) - Swish operator 的常量beta - **name** (str|None) - 这个层的名称(可选)。如果设置为None,该层将被自动命名。 @@ -8398,7 +8471,7 @@ topk 返回类型:元组[变量] -提示:抛出异常-如果k<1或者k不小于输入的最后维 +抛出异常: ``ValueError`` - 如果k<1或者k不小于输入的最后维 **代码示例**: @@ -8478,9 +8551,14 @@ uniform_random_batch_size_like算子。 返回类型: Variable +**代码示例:** +.. code-block:: python + input = layers.data(name="input", shape=[13, 11], dtype='float32') + out = layers.uniform_random_batch_size_like(input, [-1, 11]) + @@ -8546,7 +8624,7 @@ unstack 返回: 经unstack运算后的变量 -返回类型: Variable +返回类型: list(Variable) @@ -8779,10 +8857,10 @@ HardShrink激活函数(HardShrink activation operator) **代码示例**: - .. code-block:: python +.. code-block:: python - data = fluid.layers.data(name="input", shape=[784]) - result = fluid.layers.hard_shrink(x=data, threshold=0.3) + data = fluid.layers.data(name="input", shape=[784]) + result = fluid.layers.hard_shrink(x=data, threshold=0.3) @@ -9087,27 +9165,27 @@ thresholded_relu .. py:function:: paddle.fluid.layers.thresholded_relu(x,threshold=None) - ThresholdedRelu激活函数 +ThresholdedRelu激活函数 - .. math:: +.. math:: - out = \left\{\begin{matrix} - x, if&x > threshold\\ - 0, &otherwise - \end{matrix}\right. + out = \left\{\begin{matrix} + x, if&x > threshold\\ + 0, &otherwise + \end{matrix}\right. 参数: - - **x** -ThresholdedRelu激活函数的输入 - - **threshold** (FLOAT)-激活函数threshold的位置。[默认1.0]。 - - 返回:ThresholdedRelu激活函数的输出 +- **x** -ThresholdedRelu激活函数的输入 +- **threshold** (FLOAT)-激活函数threshold的位置。[默认1.0]。 + +返回:ThresholdedRelu激活函数的输出 - **代码示例**: +**代码示例**: - .. code-block:: python +.. code-block:: python - data = fluid.layers.data(name="input", shape=[1]) - result = fluid.layers.thresholded_relu(data, threshold=0.4) + data = fluid.layers.data(name="input", shape=[1]) + result = fluid.layers.thresholded_relu(data, threshold=0.4) @@ -9123,7 +9201,7 @@ uniform_random ------------------------------- .. py:function:: Paddle.fluid.layers.uniform_random(shape,dtype=None,min=None,max=None,seed=None) -该操作符初始化一个张量,该张量的值是从正太分布中抽样的随机值 +该操作符初始化一个张量,该张量的值是从均匀分布中抽样的随机值 参数: - **shape** (LONGS)-输出张量的维 @@ -9160,26 +9238,26 @@ uniform_random argmax ------------------------------- -.. py:function:: paddle.fluid.layers argmin(x,axis=0) - - **argmax** +.. py:function:: paddle.fluid.layers.argmin(x,axis=0) - 该功能计算输入张量元素中最大元素的索引,张量的元素在提供的轴上。 +**argmax** - 参数: - - **x** (Variable)-用于计算最大元素索引的输入 - - **axis** (int)-用于计算索引的轴 - - 返回:存储在输出中的张量 +该功能计算输入张量元素中最大元素的索引,张量的元素在提供的轴上。 + +参数: + - **x** (Variable)-用于计算最大元素索引的输入 + - **axis** (int)-用于计算索引的轴 - 返回类型:变量(Variable) +返回:存储在输出中的张量 + +返回类型:变量(Variable) - **代码示例**: +**代码示例**: - .. code-block:: python +.. code-block:: python - out = fluid.layers.argmax(x=in, axis=0) - out = fluid.layers.argmax(x=in, axis=-1) + out = fluid.layers.argmax(x=in, axis=0) + out = fluid.layers.argmax(x=in, axis=-1) @@ -9194,26 +9272,26 @@ argmax argmin ------------------------------- -.. py:function:: paddle.fluid.layers argmin(x,axis=0) - - **argmin** +.. py:function:: paddle.fluid.layers.argmin(x,axis=0) - 该功能计算输入张量元素中最小元素的索引,张量元素在提供的轴上。 +**argmin** - 参数: - - **x** (Variable)-计算最小元素索引的输入 - - **axis** (int)-计算索引的轴 - - 返回:存储在输出中的张量 +该功能计算输入张量元素中最小元素的索引,张量元素在提供的轴上。 + +参数: + - **x** (Variable)-计算最小元素索引的输入 + - **axis** (int)-计算索引的轴 - 返回类型:变量(Variable) +返回:存储在输出中的张量 - **代码示例**: +返回类型:变量(Variable) - .. code-block:: python +**代码示例**: - out = fluid.layers.argmin(x=in, axis=0) - out = fluid.layers.argmin(x=in, axis=-1) +.. code-block:: python + + out = fluid.layers.argmin(x=in, axis=0) + out = fluid.layers.argmin(x=in, axis=-1) @@ -9228,9 +9306,9 @@ argmin argsort ------------------------------- -.. py:function:: paddle.fluid.layers argsort(input,axis=-1,name=None) +.. py:function:: paddle.fluid.layers.argsort(input,axis=-1,name=None) -对给定轴上的输入变量进行排序,输出排序好的数据和相应的索引,其维度和输入相同 +对输入变量沿给定轴进行排序,输出排序好的数据和相应的索引,其维度和输入相同 .. code-block:: text @@ -9252,10 +9330,10 @@ argsort 参数: - **input** (Variable)-用于排序的输入变量 - - **axis** (int)-含有用于排序输入变量的轴。当axis<0,实际的轴为axis+rank(input)。默认为-1,即最后一维。 + - **axis** (int)- 沿该参数指定的轴对输入进行排序。当axis<0,实际的轴为axis+rank(input)。默认为-1,即最后一维。 - **name** (str|None)-(可选)该层名称。如果设为空,则自动为该层命名。 -返回:含有已排序的数据和索引 +返回:一组已排序的数据变量和索引 返回类型:元组 @@ -9382,7 +9460,7 @@ create_global_var .. py:function:: paddle.fluid.layers.create_global_var(shape,value,dtype,persistable=False,force_cpu=False,name=None) -在全局块中创建一个新的带有值的张量。 +在全局块中创建一个新的带有 ``value`` 的张量。 参数: - **shape** (list[int])-变量的维度 @@ -9459,9 +9537,9 @@ create_tensor 参数: - **dtype** (string)-“float32”|“int32”|..., 创建张量的数据类型。 - **name** (string)-创建张量的名称。如果未设置,则随机取一个唯一的名称。 - - **persistable** (bool)-为创建张量设置的永久标记 + - **persistable** (bool)-是否将创建的张量设置为 persistable -返回:存储在创建张量中的张量 +返回:一个张量,存储着创建的张量 返回类型:变量(Variable) @@ -9485,22 +9563,22 @@ create_tensor fill_constant ------------------------------- -.. py:function:: paddle.fluid.layers fill_constant(shape,dtype,value,force_cpu=False,out=None) +.. py:function:: paddle.fluid.layers.fill_constant(shape,dtype,value,force_cpu=False,out=None) **fill_constant** -该功能创建一个张量,具体含有shape,dtype和batch尺寸。并用值中提供的常量初始化该张量。 +该功能创建一个张量,含有具体的shape,dtype和batch尺寸。并用 ``value`` 中提供的常量初始化该张量。 创建张量的属性stop_gradient设为True。 参数: - - **shape** (tuple|list|None)-输出张量的维 - - **dtype** (np.dtype|core.VarDesc.VarType|str)-输出张量的数据类型 - - **value** (float)-用于初始化输出张量的常量值 + - **shape** (tuple|list|None)-输出张量的形状 + - **dtype** (np.dtype|core.VarDesc.VarType|str)-输出张量的数据类型 + - **value** (float)-用于初始化输出张量的常量值 - **out** (Variable)-输出张量 - **force_cpu** (True|False)-若设为true,数据必须在CPU上 -返回:存储在输出中的张量 +返回:存储着输出的张量 返回类型:变量(Variable) @@ -9525,17 +9603,17 @@ fill_constant_batch_size_like .. py:function:: paddle.fluid.layers.fill_constant_batch_size_like(input,shape,dtype,value,input_dim_idx=0,output_dim_idx=0) -该功能创建一个张量,具体含有shape,dtype和batch尺寸。并用值中提供的常量初始化该张量。该批尺寸从输入张量中获取。它还将stop_gradient设置为True. +该功能创建一个张量,含有具体的shape,dtype和batch尺寸。并用 ``Value`` 中提供的常量初始化该张量。该批尺寸从输入张量中获取。它还将stop_gradient设置为True. 参数: - **input** (Variable)-张量,其input_dim_idx个维具体指示batch_size - - **shape** (INTS)-输出的维 + - **shape** (INTS)-输出的形状 - **dtype** (INT)-可以为numpy.dtype。输出数据类型。默认为float32 - **value** (FLOAT)-默认为0.将要被填充的值 - **input_dim_idx** (INT)-默认为0.输入批尺寸维的索引 - **output_dim_idx** (INT)-默认为0.输出批尺寸维的索引 -返回:具体维的张量填充有具体值 +返回:具有特定形状和值的张量 **代码示例**: @@ -9568,7 +9646,7 @@ has_inf 返回: tensor变量存储输出值,包含一个bool型数值 - +返回类型:Variable @@ -9597,7 +9675,7 @@ has_nan 返回: tensor变量存储输出值,包含一个bool型数值 - +返回类型:Variable @@ -9620,7 +9698,7 @@ isfinite 返回: Variable: tensor变量存储输出值,包含一个bool型数值 - +返回类型:Variable @@ -9676,8 +9754,8 @@ reverse 该功能将给定轴上的输入‘x’逆序 参数: - - **x** (Variable)-预逆序到输入 - - **axis** (int|tuple|list)-其上元素逆序排列的轴。 + - **x** (Variable)-预逆序的输入 + - **axis** (int|tuple|list) - 元素逆序排列的轴。如果该参数是一个元组或列表,则对该参数中每个元素值所指定的轴上进行逆序运算。 返回:逆序的张量 @@ -9774,6 +9852,8 @@ tensor_array_to_tensor 返回: Variable: 连接的输出变量,输入LodTensorArray沿指定axis连接。 +返回类型: Variable + **代码示例:** .. code-block:: python @@ -9868,7 +9948,7 @@ append_LARS exponential_decay ------------------------------- -.. py:function:: paddle.fluid.layers exponential_decay(learning_rate,decay_steps,decay_rate,staircase=False) +.. py:function:: paddle.fluid.layers.exponential_decay(learning_rate,decay_steps,decay_rate,staircase=False) 在学习率上运用指数衰减。 训练模型时,在训练过程中通常推荐降低学习率。每次 ``decay_steps`` 步骤中用 ``decay_rate`` 衰减学习率。 @@ -9935,9 +10015,9 @@ inverse_time_decay - **decay_rate** (float)-衰减率。见以上衰减运算 - **staircase** (Boolean)-若为True,按间隔区间衰减学习率。默认:False - 返回:衰减的学习率 +返回:衰减的学习率 - 返回类型:变量(Variable) +返回类型:变量(Variable) **示例代码:** @@ -9997,7 +10077,7 @@ natural_exp_decay noam_decay ------------------------------- -.. py:function:: paddle.fluid.layers noam_decay(d_model,warmup_steps) +.. py:function:: paddle.fluid.layers.noam_decay(d_model,warmup_steps) Noam衰减方法。noam衰减的numpy实现如下。 @@ -10008,7 +10088,7 @@ Noam衰减方法。noam衰减的numpy实现如下。 np.power(current_steps, -0.5), np.power(warmup_steps, -1.5) * current_steps]) -请参照 attention is all you need。 +请参照 `attention is all you need `_ 参数: - **d_model** (Variable)-模型的输入和输出维度 @@ -10117,27 +10197,17 @@ anchor_generator 参数: - **input** (Variable) - 输入特征图,格式为NCHW - - **anchor_sizes** (list|tuple|float) - 生成锚的锚大小 - - **in absolute pixels** 等[64.,128.,256.,512.](给定)-实例,锚大小为64意味该锚的面积等于64*2 + - **anchor_sizes** (list|tuple|float) - 生成锚的锚大小,以绝对像素的形式表示,例如:[64.,128.,256.,512.]若锚的大小为64,则意味着这个锚的面积等于64**2。 - **aspect_ratios** (list|tuple|float) - 生成锚的高宽比,例如[0.5,1.0,2.0] - **variance** (list|tuple) - 变量,在框回归delta中使用。默认:[0.1,0.1,0.2,0.2] - **stride** (list|tuple) - 锚在宽度和高度方向上的步长,比如[16.0,16.0] - **offset** (float) - 先验框的中心位移。默认:0.5 - **name** (str) - 先验框操作符名称。默认:None -:: - - - 输出anchor,布局[H,W,num_anchors,4] - H是输入的高度,W是输入的宽度,num_priors是输入每位的框数 - 每个anchor格式(非正式格式)为(xmin,ymin,xmax,ymax) +返回: + - Anchors(Varibale): 输出anchor,布局[H,W,num_anchors,4] , ``H`` 是输入的高度, ``W`` 是输入的宽度, ``num_priors`` 是输入每位的框数,每个anchor格式(未归一化)为(xmin,ymin,xmax,ymax) -:: - - - 变量(Variable):锚的扩展变量 - 布局为[H,W,num_priors,4]。H是输入的高度,W是输入的宽度,num_priors是输入每位的框数 - 每个变量的格式为(xcenter,ycenter)。 + - Variances(Variable): 锚的扩展变量布局为 [H,W,num_priors,4]。 ``H`` 是输入的高度, ``W`` 是输入的宽度, ``num_priors`` 是输入每个位置的框数,每个变量的格式为(xcenter,ycenter,w,h)。 返回类型:anchor(Variable) @@ -10773,7 +10843,7 @@ roi_perspective_transform - **spatial_scale** (float) - 空间尺度因子,用于缩放ROI坐标,默认:1.0。 返回: - ``ROIPerspectiveTransformOp`` 的输出,带有shape的四维张量(num_rois,channels,transformed_h,transformed_w) + ``ROIPerspectiveTransformOp`` 的输出,它是一个4维张量,形为 (num_rois,channels,transformed_h,transformed_w) 返回类型:变量(Variable) diff --git a/doc/fluid/api_cn/metrics_cn.rst b/doc/fluid/api_cn/metrics_cn.rst index 42e7df242..21670356c 100644 --- a/doc/fluid/api_cn/metrics_cn.rst +++ b/doc/fluid/api_cn/metrics_cn.rst @@ -246,7 +246,7 @@ https://arxiv.org/abs/1512.02325 返回:当前 mini-batch 的 mAP 变量,和跨 mini-batch 的 mAP 累加和 -.. py:methord:: reset(executor, reset_program=None) +.. py:method:: reset(executor, reset_program=None) 在指定 batch 的每一 pass/user 开始时重置度量状态。 @@ -380,7 +380,7 @@ Recall .. py:class:: paddle.fluid.metrics.Recall(name=None) -召回率(也称为敏感度)是度量有多个正例被分为正例 +召回率(也称为敏感度)是指得到的相关实例数占相关实例总数的比重 https://en.wikipedia.org/wiki/Precision_and_recall diff --git a/doc/fluid/api_cn/optimizer_cn.rst b/doc/fluid/api_cn/optimizer_cn.rst index 29b6ad548..f41da88c9 100644 --- a/doc/fluid/api_cn/optimizer_cn.rst +++ b/doc/fluid/api_cn/optimizer_cn.rst @@ -262,7 +262,7 @@ FtrlOptimizer FTRL (Follow The Regularized Leader) Optimizer. -TFRTL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf `_) +FTRL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf `_) .. math:: @@ -439,9 +439,10 @@ MomentumOptimizer .. math:: & velocity = mu * velocity + gradient\\ - & if (use\_nesterov):\ - \&\quad param = param - (gradient + mu * velocity) * learning\_rate\\ + & if (use\_nesterov):\\ + &\quad param = param - (gradient + mu * velocity) * learning\_rate\\ & else:\\&\quad param = param - learning\_rate * velocity + 参数: - **learning_rate** (float|Variable) - 学习率,用于参数更新。作为数据参数,可以是浮点型值或含有一个浮点型值的变量 - **momentum** (float) - 动量因子 diff --git a/doc/fluid/api_cn/profiler_cn.rst b/doc/fluid/api_cn/profiler_cn.rst index 52442b2da..bc617ba59 100644 --- a/doc/fluid/api_cn/profiler_cn.rst +++ b/doc/fluid/api_cn/profiler_cn.rst @@ -171,10 +171,10 @@ start_profiler stop_profiler ------------------------------- -.. py:function::paddle.fluid.profiler.stop_profiler(sorted_key=None, profile_path='/tmp/profile') +.. py:function:: paddle.fluid.profiler.stop_profiler(sorted_key=None, profile_path='/tmp/profile') 停止 profiler, 用户可以使用 ``fluid.profiler.start_profiler`` 和 ``fluid.profiler.stop_profiler`` 插入代码 -不能使用 fluid.profiler.profiler`` +不能使用 ``fluid.profiler.profiler`` 参数: - **sorted_key** (string) – 如果为None,prfile的结果将按照事件的第一次结束时间顺序打印。否则,结果将按标志排序。标志取值为"call"、"total"、"max"、"min" "ave"之一,根据调用着的数量进行排序。total表示按总执行时间排序,max 表示按最大执行时间排序。min 表示按最小执行时间排序。ave表示按平均执行时间排序。 diff --git a/doc/fluid/api_cn/transpiler_cn.rst b/doc/fluid/api_cn/transpiler_cn.rst index 1e48c4f60..6eb8b9fc1 100644 --- a/doc/fluid/api_cn/transpiler_cn.rst +++ b/doc/fluid/api_cn/transpiler_cn.rst @@ -150,7 +150,7 @@ DistributeTranspilerConfig 最小数据块的大小 -注意: 根据:https://github.com/PaddlePaddle/Paddle/issues/8638#issuecomment-369912156, 当数据块大小超过2MB时,我们可以有效地使用带宽。如果你想更改它,请详细查看slice_variable函数。 +注意: 根据:https://github.com/PaddlePaddle/Paddle/issues/8638#issuecomment-369912156 , 当数据块大小超过2MB时,我们可以有效地使用带宽。如果你想更改它,请详细查看slice_variable函数。 -- GitLab