data_norm_cn.rst 3.2 KB
Newer Older
H
Hao Wang 已提交
1 2 3 4 5
.. _cn_api_fluid_layers_data_norm:

data_norm
-------------------------------

6 7
**注意:该API仅支持【静态图】模式**

H
Hao Wang 已提交
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
.. py:function:: paddle.fluid.layers.data_norm(input, act=None, epsilon=1e-05, param_attr=None, data_layout='NCHW', in_place=False, name=None, moving_mean_name=None, moving_variance_name=None, do_model_average_for_mean_and_var=False)

**数据正则化层**

可用作conv2d和fully_connected操作的正则化函数。 此层所需的数据格式为以下之一:

1. NHWC [batch, in_height, in_width, in_channels]
2. NCHW [batch, in_channels, in_height, in_width]

:math:`input` 为一个mini-batch上的特征:

.. math::
        \mu_{\beta} &\gets \frac{1}{m} \sum_{i=1}^{m} x_i \qquad &//\
        \ mini-batch\ mean \\
        \sigma_{\beta}^{2} &\gets \frac{1}{m} \sum_{i=1}^{m}(x_i - \
        \mu_{\beta})^2 \qquad &//\ mini-batch\ variance \\
        \hat{x_i} &\gets \frac{x_i - \mu_\beta} {\sqrt{\
        \sigma_{\beta}^{2} + \epsilon}} \qquad &//\ normalize \\
        y_i &\gets \gamma \hat{x_i} + \beta \qquad &//\ scale\ and\ shift

参数:
29
  - **input** (Variable) - 输入变量,它是一个LoDTensor。
H
Hao Wang 已提交
30 31 32
  - **act** (string,默认None) - 激活函数类型,线性| relu | prelu | ...
  - **epsilon** (float,默认1e-05) -
  - **param_attr** (ParamAttr) - 参数比例的参数属性。
33
  - **data_layout** (str,可选) -  指定输入的数据格式,输出的数据格式将与输入保持一致,可以是"NCHW"和"NHWC"。N是批尺寸,C是通道数,H是特征高度,W是特征宽度。默认值:"NCHW"。
H
Hao Wang 已提交
34 35 36 37 38
  - **in_place** (bool,默认值False) - 使data_norm的输入和输出复用同一块内存。
  - **name** (string,默认None) - 此层的名称(可选)。 如果设置为None,则将自动命名该层。
  - **moving_mean_name** (string,Default None) - 存储全局Mean的moving_mean的名称。
  - **moving_variance_name** (string,默认None) - 存储全局Variance的moving_variance的名称。
  - **do_model_average_for_mean_and_var** (bool,默认值为false) - 是否为mean和variance进行模型平均。
H
hutuxian 已提交
39 40 41
  - **slot_dim** (int, 默认值为-1) -  一个slot的embedding维度,slot用来表征一类特征的集合,在pslib模式下,通常我们通过slot区分特征id,并从参数服务器(pslib)中提取它们的embedding。embedding的第一维是历史上这个embedding展示的次数。如果本op的输入是由这样的embedding连接而来,那么当这个特征id是新的或空的,则正则化结果可能不实际。为了避免这种情况,我们添加了slot_dim来定位并判断这一维是否为零。如果是的话,我们选择跳过正则化。
  - **summary_decay_rate** (float, 默认值为0.9999999) - 更新summary信息时的衰减率。
  - **sync_stats** (bool, 默认值False) - 在多GPU卡的场景下可以使用,用来同步多卡间的summary信息。
H
Hao Wang 已提交
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

返回: 张量变量,是对输入数据进行正则化后的结果。

返回类型: Variable

**代码示例**

..  code-block:: python

    import paddle.fluid as fluid

    hidden1 = fluid.layers.data(name="hidden1", shape=[200])
    hidden2 = fluid.layers.data_norm(name="hidden2", input=hidden1)