layer_norm

paddle.nn.functional. layer_norm ( x, normalized_shape, weight=None, bias=None, epsilon=1e-05, name=None ) [源代码]

推荐使用 nn.LayerNorm。

详情见 LayerNorm

参数

  • x (int) - 输入,数据类型为 bfloat16 、 float16 、 float32 或 float64。

  • normalized_shape (int|list|tuple) - 期望的输入是 \([*, normalized_shape[0], normalized_shape[1], ..., normalized_shape[-1]]\),如果是一个整数,会作用在最后一个维度。

  • weight (Tensor,可选) - 权重的 Tensor,默认为 None。

  • bias (Tensor,可选) - 偏置的 Tensor,默认为 None。

  • epsilon (float,可选) - 为了数值稳定加在分母上的值。默认值:1e-05。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

代码示例

>>> import paddle
>>> paddle.seed(2023)
>>> x = paddle.rand((2, 2, 2, 3))
>>> layer_norm_out = paddle.nn.functional.layer_norm(x, x.shape[1:])
>>> print(layer_norm_out)
Tensor(shape=[2, 2, 2, 3], dtype=float32, place=Place(cpu), stop_gradient=True,
[[[[ 0.87799639, -0.32706568, -1.23529339],
   [ 1.01540327, -0.66222906, -0.72354043]],
  [[ 1.24183702,  0.45458138, -0.33506915],
   [ 0.41468468,  1.26852870, -1.98983312]]],
 [[[ 0.02837803,  1.27684665, -0.90110683],
   [-0.94709367, -0.15110941, -1.16546965]],
  [[-0.82010198,  0.11218392, -0.86506516],
   [ 1.09489357,  0.19107464,  2.14656854]]]])