layer_norm

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

推荐使用 nn.LayerNorm。

详情见 LayerNorm 。

备注

别名支持: 参数名 input 可替代 x, eps 可替代 epsilon。

参数

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

  • 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。 别名: eps

  • name (str,可选) - 具体用法请参见 api_guide_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.87799621, -0.32706589, -1.23529351],
   [ 1.01540303, -0.66222930, -0.72354060]],
  [[ 1.24183691,  0.45458117, -0.33506936],
   [ 0.41468447,  1.26852846, -1.98983335]]],
 [[[ 0.02837802,  1.27684653, -0.90110677],
   [-0.94709361, -0.15110941, -1.16546965]],
  [[-0.82010192,  0.11218391, -0.86506510],
   [ 1.09489346,  0.19107464,  2.14656830]]]])