未验证 提交 d71f3c1d 编写于 作者: T Tink_Y 提交者: GitHub

Update cn_api (#496) (#504)

[cherry-pick] Update cn_api from develop to release/1.2
上级 51a5a73e
......@@ -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中运行并调整权重。
......
......@@ -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` 表示
3.Transition的下一维值,代表末尾权重,这里用 :math:`b` 表示
4.Transition剩下的值,代表转移权重,这里用 :math:`w` 表示
5.Label用 :math:`s` 表示
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}})
其中Z是正则化值,所有可能序列的P(s)之和为1,x是线性链条件随机场(linear chain CRF)的发射(emission)特征权重。
线性链条件随机场最终输出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是一个形状为[d_1, d_2,…]的张量。, y是一个形为[d_1, d_2,… ,d_n, maxlen]的掩码,其中:
该层根据输入 ``x`` 和 ``maxlen`` 输出一个掩码,数据类型为dtype。
假设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,8 +8551,13 @@ 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,7 +8857,7 @@ 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)
......@@ -9087,9 +9165,9 @@ thresholded_relu
.. py:function:: paddle.fluid.layers.thresholded_relu(x,threshold=None)
ThresholdedRelu激活函数
ThresholdedRelu激活函数
.. math::
.. math::
out = \left\{\begin{matrix}
x, if&x > threshold\\
......@@ -9097,14 +9175,14 @@ thresholded_relu
\end{matrix}\right.
参数:
- **x** -ThresholdedRelu激活函数的输入
- **threshold** (FLOAT)-激活函数threshold的位置。[默认1.0]。
- **x** -ThresholdedRelu激活函数的输入
- **threshold** (FLOAT)-激活函数threshold的位置。[默认1.0]。
返回:ThresholdedRelu激活函数的输出
返回:ThresholdedRelu激活函数的输出
**代码示例**:
**代码示例**:
.. code-block:: python
.. code-block:: python
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,23 +9238,23 @@ uniform_random
argmax
-------------------------------
.. py:function:: paddle.fluid.layers argmin(x,axis=0)
.. py:function:: paddle.fluid.layers.argmin(x,axis=0)
**argmax**
**argmax**
该功能计算输入张量元素中最大元素的索引,张量的元素在提供的轴上。
该功能计算输入张量元素中最大元素的索引,张量的元素在提供的轴上。
参数:
参数:
- **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)
......@@ -9194,23 +9272,23 @@ argmax
argmin
-------------------------------
.. py:function:: paddle.fluid.layers argmin(x,axis=0)
.. py:function:: paddle.fluid.layers.argmin(x,axis=0)
**argmin**
**argmin**
该功能计算输入张量元素中最小元素的索引,张量元素在提供的轴上。
该功能计算输入张量元素中最小元素的索引,张量元素在提供的轴上。
参数:
参数:
- **x** (Variable)-计算最小元素索引的输入
- **axis** (int)-计算索引的轴
返回:存储在输出中的张量
返回:存储在输出中的张量
返回类型:变量(Variable)
返回类型:变量(Variable)
**代码示例**:
**代码示例**:
.. code-block:: python
.. 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 <https://arxiv.org/pdf/1706.03762.pdf>`_
参数:
- **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)
......
......@@ -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
......
......@@ -262,7 +262,7 @@ FtrlOptimizer
FTRL (Follow The Regularized Leader) Optimizer.
TFRTL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf <https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf>`_)
FTRL 原始论文: ( `https://www.eecs.tufts.edu/~dsculley/papers/ad-click-prediction.pdf <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) - 动量因子
......
......@@ -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表示按平均执行时间排序。
......
......@@ -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函数。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册