From 8c6a20adf16ec3483893885e96994ed8df11334a Mon Sep 17 00:00:00 2001 From: Double_V Date: Thu, 26 Sep 2019 10:34:44 +0800 Subject: [PATCH] fix chinese doc of BilinearInitializer, ConstantInitializer, MSRAInitializer, force_init_on_cpu, init_on_cpu and row_conv (#1280) * fix chinese doc of BilinearInitializer, ConstantInitializer, MSRAInitializer, force_init_on_cpu, init_on_cpu, test=develop * fix MSRAinitializer chinese doc, test=develop * fix chinese doc of row_conv, test=develop, test=document_fix * fix row_conv doc, test=develop * update doc, test=develop --- .../initializer_cn/BilinearInitializer_cn.rst | 18 ++++++++++------- .../initializer_cn/ConstantInitializer_cn.rst | 13 ++++++------ .../initializer_cn/MSRAInitializer_cn.rst | 17 ++++++++-------- .../initializer_cn/NormalInitializer_cn.rst | 9 +++++---- .../TruncatedNormalInitializer_cn.rst | 11 +++++----- .../initializer_cn/UniformInitializer_cn.rst | 9 +++++---- .../initializer_cn/force_init_on_cpu_cn.rst | 2 +- .../api_cn/initializer_cn/init_on_cpu_cn.rst | 9 ++++----- doc/fluid/api_cn/layers_cn/row_conv_cn.rst | 20 +++++++++++++------ 9 files changed, 62 insertions(+), 46 deletions(-) diff --git a/doc/fluid/api_cn/initializer_cn/BilinearInitializer_cn.rst b/doc/fluid/api_cn/initializer_cn/BilinearInitializer_cn.rst index 44719343d..ce2ac4598 100644 --- a/doc/fluid/api_cn/initializer_cn/BilinearInitializer_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/BilinearInitializer_cn.rst @@ -3,9 +3,13 @@ BilinearInitializer ------------------------------- -.. py:class:: paddle.fluid.initializer.BilinearInitializer +.. py:class:: paddle.fluid.initializer.BilinearInitializer()) -该初始化函数用于转置卷积函数,进行上采样。用户通过任意整型因子放大shape为(B,C,H,W)的特征图。用法如下: +该接口为参数初始化函数,用于转置卷积函数中,对输入进行上采样。用户通过任意整型因子放大shape为(B,C,H,W)的特征图。 + +返回:对象 + +用法如下: **代码示例**: @@ -14,11 +18,12 @@ BilinearInitializer import paddle.fluid as fluid factor = 2 C = 2 - w_attr = fluid.param_attr.ParamAttr( + H = W = 32 + w_attr = fluid.ParamAttr( learning_rate=0., regularizer=fluid.regularizer.L2Decay(0.), - initializer=fluid.initializer.Bilinear()) - x = fluid.layers.data(name="data", shape=[3, 32, 32], + initializer=fluid.initializer.BilinearInitializer()) + x = fluid.layers.data(name="data", shape=[4, H, W], dtype="float32") conv_up = fluid.layers.conv2d_transpose( input=x, @@ -31,8 +36,7 @@ BilinearInitializer param_attr=w_attr, bias_attr=False) -num_filters = C和groups = C 表示这是按通道转置的卷积函数。滤波器shape为(C,1,K,K),K为filter_size。该初始化函数为滤波器的每个通道设置(K,K)插值核。输出特征图的最终输出shape为(B,C,factor*H,factor*W)。注意学习率和权重衰减设为0,以便在训练过程中双线性插值的系数值保持不变 - +上述代码实现的是将输入x(shape=[-1, 4, H, W])经过转置卷积得到shape=[-1, C, H*factor, W*factor]的输出,num_filters = C和groups = C 表示这是按通道转置的卷积函数,输出通道为C,转置卷积的groups为C。滤波器shape为(C,1,K,K),K为filter_size。该初始化函数为滤波器的每个通道设置(K,K)插值核。输出特征图的最终输出shape为(B,C,factor*H,factor*W)。注意学习率和权重衰减设为0,以便在训练过程中双线性插值的系数值保持不变 diff --git a/doc/fluid/api_cn/initializer_cn/ConstantInitializer_cn.rst b/doc/fluid/api_cn/initializer_cn/ConstantInitializer_cn.rst index ee58d6eea..634b94b3a 100644 --- a/doc/fluid/api_cn/initializer_cn/ConstantInitializer_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/ConstantInitializer_cn.rst @@ -5,20 +5,21 @@ ConstantInitializer .. py:class:: paddle.fluid.initializer.ConstantInitializer(value=0.0, force_cpu=False) -常量初始器 +该接口为常量初始化函数,用于权重初始化,通过输入的value值初始化输入变量; 参数: - - **value** (float) - 用常量初始化变量 - + - **value** (float16|float32) - 用于初始化输入变量的值; + +返回:对象 + **代码示例** .. code-block:: python - + import paddle.fluid as fluid x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32") fc = fluid.layers.fc(input=x, size=10, - param_attr=fluid.initializer.Constant(value=2.0)) - + param_attr=fluid.initializer.ConstantInitializer(value=2.0)) diff --git a/doc/fluid/api_cn/initializer_cn/MSRAInitializer_cn.rst b/doc/fluid/api_cn/initializer_cn/MSRAInitializer_cn.rst index ca33ad951..d87e53642 100644 --- a/doc/fluid/api_cn/initializer_cn/MSRAInitializer_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/MSRAInitializer_cn.rst @@ -5,10 +5,10 @@ MSRAInitializer .. py:class:: paddle.fluid.initializer.MSRAInitializer(uniform=True, fan_in=None, seed=0) -实现MSRA初始化(a.k.a. Kaiming初始化) - -该类实现权重初始化方法,方法来自Kaiming He,Xiangyu Zhang,Shaoqing Ren 和 Jian Sun所写的论文: `Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification `_ 。这是一个鲁棒性特别强的初始化方法,并且适应了非线性激活函数(rectifier nonlinearities)。 +该接口实现MSRA方式的权重初始化(a.k.a. Kaiming初始化) +该接口为权重初始化函数,方法来自Kaiming He,Xiangyu Zhang,Shaoqing Ren 和 Jian Sun所写的论文: `Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification `_ 。这是一个鲁棒性特别强的初始化方法,并且适应了非线性激活函数(rectifier nonlinearities)。 +可以选择使用均匀分布或者正太分布初始化权重; 在均匀分布中,范围为[-x,x],其中: .. math:: @@ -22,9 +22,11 @@ MSRAInitializer \sqrt{\frac{2.0}{fan\_in}} 参数: - - **uniform** (bool) - 是否用均匀分布或正态分布 - - **fan_in** (float) - MSRAInitializer的fan_in。如果为None,fan_in沿伸自变量 - - **seed** (int) - 随机种子 + - **uniform** (bool) - 为True表示使用均匀分布,为False表示使用正态分布 + - **fan_in** (float16|float32) - MSRAInitializer的fan_in。如果为None,fan_in沿伸自变量,多设置为None + - **seed** (int32) - 随机种子 + +返回:对象 .. note:: @@ -36,8 +38,7 @@ MSRAInitializer import paddle.fluid as fluid x = fluid.layers.data(name="data", shape=[32, 32], dtype="float32") - fc = fluid.layers.fc(input=x, size=10, param_attr=fluid.initializer.MSRA(uniform=False)) - + fc = fluid.layers.fc(input=x, size=10, param_attr=fluid.initializer.MSRAInitializer(uniform=False)) diff --git a/doc/fluid/api_cn/initializer_cn/NormalInitializer_cn.rst b/doc/fluid/api_cn/initializer_cn/NormalInitializer_cn.rst index 667b9e0df..3a8972cc8 100644 --- a/doc/fluid/api_cn/initializer_cn/NormalInitializer_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/NormalInitializer_cn.rst @@ -8,9 +8,11 @@ NormalInitializer 随机正态(高斯)分布初始化函数 参数: - - **loc** (float) - 正态分布的平均值 - - **scale** (float) - 正态分布的标准差 - - **seed** (int) - 随机种子 + - **loc** (float16|float32) - 正态分布的平均值 + - **scale** (float16|float32) - 正态分布的标准差 + - **seed** (int32) - 随机种子 + +返回:对象 **代码示例** @@ -21,4 +23,3 @@ NormalInitializer fc = fluid.layers.fc(input=x, size=10, param_attr=fluid.initializer.Normal(loc=0.0, scale=2.0)) - diff --git a/doc/fluid/api_cn/initializer_cn/TruncatedNormalInitializer_cn.rst b/doc/fluid/api_cn/initializer_cn/TruncatedNormalInitializer_cn.rst index 25074c785..8bf4f08af 100644 --- a/doc/fluid/api_cn/initializer_cn/TruncatedNormalInitializer_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/TruncatedNormalInitializer_cn.rst @@ -8,10 +8,12 @@ TruncatedNormalInitializer Random Truncated Normal(高斯)分布初始化函数 参数: - - **loc** (float) - 正态分布的平均值 - - **scale** (float) - 正态分布的标准差 - - **seed** (int) - 随机种子 - + - **loc** (float16|float32) - 正态分布的平均值 + - **scale** (float16|float32) - 正态分布的标准差 + - **seed** (int32) - 随机种子 + +返回:对象 + **代码示例** .. code-block:: python @@ -28,4 +30,3 @@ Random Truncated Normal(高斯)分布初始化函数 - diff --git a/doc/fluid/api_cn/initializer_cn/UniformInitializer_cn.rst b/doc/fluid/api_cn/initializer_cn/UniformInitializer_cn.rst index 1f3ebf01f..ec6e62497 100644 --- a/doc/fluid/api_cn/initializer_cn/UniformInitializer_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/UniformInitializer_cn.rst @@ -8,10 +8,12 @@ UniformInitializer 随机均匀分布初始化器 参数: - - **low** (float) - 下界 - - **high** (float) - 上界 - - **seed** (int) - 随机种子 + - **low** (float16|float32) - 下界 + - **high** (float16|float32) - 上界 + - **seed** (int32) - 随机种子 +返回:对象 + **代码示例** .. code-block:: python @@ -28,4 +30,3 @@ UniformInitializer - diff --git a/doc/fluid/api_cn/initializer_cn/force_init_on_cpu_cn.rst b/doc/fluid/api_cn/initializer_cn/force_init_on_cpu_cn.rst index 38a44ef88..7957a26a5 100644 --- a/doc/fluid/api_cn/initializer_cn/force_init_on_cpu_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/force_init_on_cpu_cn.rst @@ -5,7 +5,7 @@ force_init_on_cpu .. py:function:: paddle.fluid.initializer.force_init_on_cpu() -标志位,是否强制在CPU上进行变量初始化。 +该接口获得一个是否强制在CPU上初始化变量的布尔型标志位。 返回:状态,是否应强制在CPU上强制进行变量初始化 diff --git a/doc/fluid/api_cn/initializer_cn/init_on_cpu_cn.rst b/doc/fluid/api_cn/initializer_cn/init_on_cpu_cn.rst index 68238e6c4..00e7b1d86 100644 --- a/doc/fluid/api_cn/initializer_cn/init_on_cpu_cn.rst +++ b/doc/fluid/api_cn/initializer_cn/init_on_cpu_cn.rst @@ -5,8 +5,10 @@ init_on_cpu .. py:function:: paddle.fluid.initializer.init_on_cpu() -强制变量在 cpu 上初始化。 - +该接口设置强制变量在 cpu 上初始化。 + +返回:无 + **代码示例** .. code-block:: python @@ -17,6 +19,3 @@ init_on_cpu - - - diff --git a/doc/fluid/api_cn/layers_cn/row_conv_cn.rst b/doc/fluid/api_cn/layers_cn/row_conv_cn.rst index 01bce564d..d8d8ef67b 100644 --- a/doc/fluid/api_cn/layers_cn/row_conv_cn.rst +++ b/doc/fluid/api_cn/layers_cn/row_conv_cn.rst @@ -5,7 +5,7 @@ row_conv .. py:function:: paddle.fluid.layers.row_conv(input, future_context_size, param_attr=None, act=None) -行卷积(Row-convolution operator)称为超前卷积(lookahead convolution)。下面关于DeepSpeech2的paper中介绍了这个operator +该接口为行卷积(Row-convolution operator)或称之为超前卷积(lookahead convolution),最早介绍于DeepSpeech2论文中,论文链接: ``_ @@ -25,12 +25,12 @@ row_conv 详细请参考 `设计文档 `_ 。 参数: - - **input** (Variable) -- 输入是一个LodTensor,它支持可变时间长度的输入序列。这个LodTensor的内部张量是一个具有形状(T x N)的矩阵,其中T是这个mini batch中的总的timestep,N是输入数据维数。 - - **future_context_size** (int) -- 下文大小。请注意,卷积核的shape是[future_context_size + 1, D]。 + - **input** (Variable) -- 支持输入为LodTensor和Tensor,输入类型可以是[float32, float64],它支持可变时间长度的输入序列。当输入input为LodTensor时,其内部张量是一个具有形状(T x N)的矩阵,其中T是这个mini batch中的总的timestep,N是输入数据维数。当输入input为Tensor时,其形状为(B x T x N)的三维矩阵,B为mini batch大小,T为每个batch输入中的最大timestep,N是输入数据维数。当输入input为LoDTensor,形状为[9, N],LoD信息为[2, 3, 4],等价于输入input为形状是[3, 4, N]的Tensor。 + - **future_context_size** (int) -- 下文大小。请注意,卷积核的shape是[future_context_size + 1, N],N和输入input的数据维度N保持一致。 - **param_attr** (ParamAttr) -- 参数的属性,包括名称、初始化器等。 - **act** (str) -- 非线性激活函数。 -返回: 输出(Out)是一个LodTensor,它支持可变时间长度的输入序列。这个LodTensor的内部量是一个形状为 T x N 的矩阵,和X的 shape 一样。 +返回:表示row_conv计算结果的Variable,数据类型、维度和输入input相同。 **代码示例** @@ -38,9 +38,17 @@ row_conv .. code-block:: python import paddle.fluid as fluid + # LoDTensor input + x = fluid.layers.data(name='x', shape=[9, 16], + dtype='float32', lod_level=3, + append_batch_size=False) + out = fluid.layers.row_conv(input=x, future_context_size=2) - x = fluid.layers.data(name='x', shape=[16], - dtype='float32', lod_level=1) + # Tensor input + x = fluid.layers.data(name='x', shape=[9, 4, 16], + dtype='float32', + append_batch_size=False) out = fluid.layers.row_conv(input=x, future_context_size=2) + -- GitLab