Skip to content

Commit f940123

Browse files
t checkout -b test
Merge branch 'develop' of https://github.com/PaddlePaddle/docs into develop
2 parents 944d045 + 1ed152d commit f940123

File tree

93 files changed

+1458
-671
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+1458
-671
lines changed

docs/api/paddle/broadcast_tensors_cn.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
broadcast_tensors
44
-------------------------------
55

6-
.. py:function:: paddle.broadcast_tensors(inputs, name=None)
6+
.. py:function:: paddle.broadcast_tensors(input, name=None)
77
8-
根据 Broadcast 规范对一组输入 ``inputs`` 进行 Broadcast 操作
8+
根据 Broadcast 规范对一组输入 ``input`` 进行 Broadcast 操作
99
输入应符合 Broadcast 规范
1010

1111
.. note::
@@ -15,7 +15,7 @@ broadcast_tensors
1515

1616
参数
1717
:::::::::
18-
- inputs (list(Tensor)|tuple(Tensor)) - 一组输入 Tensor,数据类型为:bool、float32、float64、complex64、complex128、int32 或 int64。所有的输入 Tensor 均需要满足 rank <= 5。
18+
- input (list(Tensor)|tuple(Tensor)) - 一组输入 Tensor,数据类型为:bool、float32、float64、complex64、complex128、int32 或 int64。所有的输入 Tensor 均需要满足 rank <= 5。
1919
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
2020

2121
返回

docs/api/paddle/broadcast_to_cn.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ broadcast_to
1111

1212
参数
1313
:::::::::
14-
- **x** (Tensor) - 输入的 Tensor,数据类型为:bool、float16、float32、float64、int32 或 int64
15-
- **shape** (tuple|list|Tensor) - 给定输入 ``x`` 扩展后的形状,若 ``shape`` 为 list 或者 tuple,则其中的元素值应该为整数或者 1-D Tensor,若 ``shape`` 类型为 Tensor,则其应该为 1-D Tensor。
14+
- **x** (Tensor) - 输入的 Tensor,数据类型为:bool、float16、float32、float64、int32、int64、uint8uint16
15+
- **shape** (tuple|list|Tensor) - 给定输入 ``x`` 扩展后的形状,若 ``shape`` 为 list 或者 tuple,则其中的元素值应该为整数或者是形状为 1-D 或 0-D 的 Tensor,若 ``shape`` 类型为 Tensor,则其应该为 1-D Tensor。
1616
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
1717

1818
返回

docs/api/paddle/expand_cn.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ expand
1111

1212
参数
1313
:::::::::
14-
- **x** (Tensor) - 输入的 Tensor,数据类型为:bool、float32、float64、int32 或 int64
15-
- **shape** (tuple|list|Tensor) - 给定输入 ``x`` 扩展后的形状,若 ``shape`` 为 list 或者 tuple,则其中的元素值应该为整数或者 1-D Tensor,若 ``shape`` 类型为 Tensor,则其应该为 1-D Tensor。值为-1 表示保持相应维度的形状不变。
14+
- **x** (Tensor) - 输入的 Tensor,数据类型为:bool、float16、float32、float64、int32、int64、uint8uint16
15+
- **shape** (tuple|list|Tensor) - 给定输入 ``x`` 扩展后的形状,若 ``shape`` 为 list 或者 tuple,则其中的元素值应该为整数或者是形状为 1-D 或 0-D 的 Tensor,若 ``shape`` 类型为 Tensor,则其应该为 1-D Tensor。值为-1 表示保持相应维度的形状不变。
1616
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
1717

1818
返回

docs/api/paddle/nanmedian_cn.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
nanmedian
44
-------------------------------
55

6-
.. py:function:: paddle.nanmedian(x, axis=None, keepdim=False, name=None)
6+
.. py:function:: paddle.nanmedian(x, axis=None, keepdim=False, mode='avg', name=None)
77
88
沿给定的轴 ``axis`` 计算中位数,同时忽略 NAN 元素。
99
如果元素的有效计数为偶数,则计算并返回中间两数的平均数。
@@ -13,11 +13,12 @@ nanmedian
1313
- **x** (Tensor) - 输入的 Tensor,数据类型为:float16、bfloat16、float32、float64、int32、int64。
1414
- **axis** (None|int|list|tuple,可选) - 指定对 ``x`` 进行计算的轴。``axis`` 可以是 int 或者 int 元素的列表。``axis`` 值应该在范围[-D, D)内,D 是 ``x`` 的维度。如果 ``axis`` 或者其中的元素值小于 0,则等价于 :math:`axis + D`。如果 ``axis`` 是 None,则对 ``x`` 的全部元素计算中位数。默认值为 None。
1515
- **keepdim** (bool,可选) - 是否在输出 Tensor 中保留减小的维度。如果 ``keepdim`` 为 True,则输出 Tensor 和 ``x`` 具有相同的维度(减少的维度除外,减少的维度的大小为 1)。否则,输出 Tensor 的形状会在 ``axis`` 上进行 squeeze 操作。默认值为 False
16+
- **mode** (str,可选) - 当输入 Tensor ``x`` 在 ``axis`` 轴上有偶数个非 NaN 元素时,可选择按照中间两个非 NaN 元素的平均值或最小值确定中位数。可选的值是 'avg' 或 'min'。默认为 'avg'。
1617
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
1718

1819
返回
1920
::::::::::
20-
``Tensor`` ,沿着 ``axis`` 进行中位数计算的结果,同时忽略 NAN 元素。输出的 dtype 与 ``x`` 相同
21+
Tensor 或 (Tensor, Tensor)。 若 ``mode == 'min'`` ``axis`` 是 int 类型,结果返回一个元组:(非 NaN 中位数,对应下标);否则只返回一个 Tensor (非 NaN 中位数)
2122

2223
代码示例
2324
::::::::::

docs/api/paddle/nn/Overview_cn.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,7 @@ Normalization 方法
435435
" :ref:`paddle.nn.functional.remove_weight_norm <cn_api_paddle_nn_utils_remove_weight_norm>` ", "移除传入 layer 中的权重归一化"
436436
" :ref:`paddle.nn.functional.weight_norm <cn_api_paddle_nn_utils_weight_norm>` ", "对传入的 layer 中的权重参数进行归一化"
437437
" :ref:`paddle.nn.functional.spectral_norm <cn_api_paddle_nn_utils_spectral_norm>` ", "对传入的 layer 中的权重参数进行谱归一化"
438+
" :ref:`paddle.nn.functional.group_norm <cn_api_paddle_nn_functional_group_norm>` ", "Group Normalization 函数"
438439

439440
.. _linear_functional:
440441

docs/api/paddle/nn/TransformerDecoderLayer_cn.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
TransformerDecoderLayer
44
-------------------------------
55

6-
.. py:class:: paddle.nn.TransformerDecoderLayer(d_model, nhead, dim_feedforward, dropout=0.1, activation='relu', attn_dropout=None, act_dropout=None, normalize_before=False, weight_attr=None, bias_attr=None)
6+
.. py:class:: paddle.nn.TransformerDecoderLayer(d_model, nhead, dim_feedforward, dropout=0.1, activation='relu', attn_dropout=None, act_dropout=None, normalize_before=False, weight_attr=None, bias_attr=None, layer_norm_eps=1e-5)
77
88
99

docs/api/paddle/nn/TransformerEncoderLayer_cn.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
TransformerEncoderLayer
44
-------------------------------
55

6-
.. py:class:: paddle.nn.TransformerEncoderLayer(d_model, nhead, dim_feedforward, dropout=0.1, activation='relu', attn_dropout=None, act_dropout=None, normalize_before=False, weight_attr=None, bias_attr=None)
6+
.. py:class:: paddle.nn.TransformerEncoderLayer(d_model, nhead, dim_feedforward, dropout=0.1, activation='relu', attn_dropout=None, act_dropout=None, normalize_before=False, weight_attr=None, bias_attr=None, layer_norm_eps=1e-5)
77
88
99
@@ -25,6 +25,7 @@ Transformer 编码器层由两个子层组成:多头自注意力机制和前
2525
- **normalize_before** (bool,可选) - 设置对每个子层的输入输出的处理。如果为 ``True``,则对每个子层的输入进行层标准化(Layer Normalization),对每个子层的输出进行 dropout 和残差连接(residual connection)。否则(即为 ``False``),则对每个子层的输入不进行处理,只对每个子层的输出进行 dropout、残差连接(residual connection)和层标准化(Layer Normalization)。默认值:``False``。
2626
- **weight_attr** (ParamAttr|list|tuple,可选) - 指定权重参数属性的对象。如果是 ``list/tuple``,多头自注意力机制的权重参数属性使用 ``weight_attr[0]``,前馈神经网络的权重参数属性使用 ``weight_attr[1]``。如果参数值是 ``ParamAttr``,则多头自注意力机制和前馈神经网络的权重参数属性都使用 ``ParamAttr``。默认值:``None``,表示使用默认的权重参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。
2727
- **bias_attr** (ParamAttr|list|tuple|bool,可选)- 指定偏置参数属性的对象。如果是 ``list/tuple``,多头自注意力机制的偏置参数属性使用 ``bias_attr[0]``,前馈神经网络的偏置参数属性使用 ``bias_attr[1]``。如果该参数值是 ``ParamAttr``,则多头自注意力机制和前馈神经网络的偏置参数属性都使用 ``ParamAttr``。如果该参数为 ``bool`` 类型,只支持为 ``False``,表示没有偏置参数。默认值为 None,表示使用默认的偏置参数属性。具体用法请参见 :ref:`cn_api_paddle_ParamAttr` 。
28+
- **layer_norm_eps** (float,可选)- transformer encoder 中 layer normalization 层的 ``eps`` 参数值。默认是 1e-5。
2829

2930

3031
代码示例
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
.. _cn_api_paddle_nn_functional_group_norm:
2+
3+
group_norm
4+
-------------------------------
5+
6+
.. py:function:: paddle.nn.functional.group_norm(x, num_groups, epsilon=1e-05, weight=None, bias=None, data_format='NCHW', name=None)
7+
8+
对输入 ``x`` 进行组归一化, 计算公式如下:
9+
10+
.. math::
11+
y = \frac{x - E(x)}{\sqrt(Var(x)+ epsilon )} \ast weight + bias
12+
13+
- :math:`x`: 形状为 [批大小,通道数,\*],其中通道数必须是 ``num_groups`` 的整数倍
14+
- :math:`E(x)`, :math:`Var(x)`: 每一组中 ``x`` 的均值和方差
15+
16+
更多详情请参考:`Group Normalization <https://arxiv.org/abs/1803.08494>`_ 。
17+
18+
参数
19+
::::::::::::
20+
21+
- **x** (Tensor) - 输入 Tensor,形状为 [批大小,通道数,\*]。
22+
- **num_groups** (int) - 从通道中分离出来的 ``group`` 的数目。
23+
- **epsilon** (float,可选) - 为防止方差除零,增加一个很小的值。默认值:1e-05。
24+
- **weight** (Tensor,可选) - 权重的 Tensor,形状为 [通道数],默认为 None。
25+
- **bias** (Tensor,可选) - 偏置的 Tensor,形状为 [通道数],默认为 None。
26+
- **data_format** (string,可选) - 只支持 “NCHW” [num_batches,channels,height,width] 格式。默认值:“NCHW”。
27+
- **name** (str,可选) - 具体用法请参见 :ref:`api_guide_Name`,一般无需设置,默认值为 None。
28+
29+
30+
返回
31+
::::::::::::
32+
``Tensor``,输出形状与 ``x`` 一致。
33+
34+
代码示例
35+
::::::::::::
36+
37+
COPY-FROM: paddle.nn.functional.group_norm

docs/guides/06_distributed_training/data_parallel/principle_and_demo_cn.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@
202202
首先,阐述数据并行模式下学习率的设置技巧,其基本原则是学习率正比于 global batch size。
203203

204204
与单卡训练相比,数据并行训练通常有两种配置:
205-
1. 一种是保持保持所有计算设备的 batch size 的总和(我们称为 global batch size)与单卡训练的 batch size 保持一致。这中情形下,由于数据并行训练和单卡训练的 global batch size 是一致的,通常保持数据并行模式下各个计算设备上的学习率与单卡训练一致。
205+
1. 一种是保持保持所有计算设备的 batch size 的总和(我们称为 global batch size)与单卡训练的 batch size 保持一致。这种情形下,由于数据并行训练和单卡训练的 global batch size 是一致的,通常保持数据并行模式下各个计算设备上的学习率与单卡训练一致。
206206
2. 另一种情形是,保持数据并行模式下每个计算设备的 batch size 和单卡训练的 batch size 一致。这种情形下,数据并行模式的 global batch size 是单卡训练的 ``N`` 倍。这里, ``N`` 指的是数据并行计算的设备数。因此,通常需要将数据并行模式下每个计算设备的学习率相应的设置为单卡训练的 ``N`` 倍。这样,数据并行模式下的初始学习率通常较大,不利于模型的收敛。因此,通常需要使用 warm-up 机制。即,在初始训练时使用较小的学习率,并逐步缓慢增加学习率,经过一定迭代次数后,学习率增长到期望的学习率。
207207

208208
4.2 数据集切分

docs/guides/06_distributed_training/group_sharded_parallel_cn.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ GroupSharded 策略可以根据用户配置支持,分别切分模型参数、
3030
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3131

3232
GroupSharded hybrid 数据并行策略,在 GroupSharded 并行的基础上再增加一层数据并行逻辑。
33-
该策略的目的是通过 ``限制 GroupSharded 通信的节点数`` 和 ``增加多路数据并行`` 来提高训练吞吐。 如果一个模型在普通 GroupSharded 训练时需要 M 张 GPU,则则开启 hybrid-dp 至少需要 N*M GPU (N>= 2)。
33+
该策略的目的是通过 ``限制 GroupSharded 通信的节点数`` 和 ``增加多路数据并行`` 来提高训练吞吐。 如果一个模型在普通 GroupSharded 训练时需要 M 张 GPU,则开启 hybrid-dp 至少需要 N*M GPU (N>= 2)。
3434

3535
GroupSharded-hybrid-dp 适用的场景如下:
3636

0 commit comments

Comments
 (0)