mindspore.ops.LRN

查看源文件
class mindspore.ops.LRN(depth_radius=5, bias=1.0, alpha=1.0, beta=0.5, norm_region='ACROSS_CHANNELS')[源代码]

局部响应归一化操作LRN(Local Response Normalization)。

警告

LRN在Ascend平台已废弃,存在潜在精度问题。建议使用其他归一化方法,如 mindspore.ops.BatchNorm 代替LRN。

bc=ac(k+αnc=max(0,cn/2)min(N1,c+n/2)ac2)β

其中 ac 表示特征图中 c 对应的具体像素值; n/2 为参数 depth_radiusk 为参数 biasα 为参数 alphaβ 为参数 beta

参数:
  • depth_radius (int) - 一维归一化窗口的半宽。默认值: 5

  • bias (float) - 偏移量(通常为正以避免除零问题)。默认值: 1.0

  • alpha (float) - 比例系数,通常为正。默认值: 1.0

  • beta (float) - 指数。默认值: 0.5

  • norm_region (str) - 指定归一化区域。可选值: "ACROSS_CHANNELS" 。默认值: "ACROSS_CHANNELS"

输入:
  • x (Tensor) - 数据类型为float16或float32的四维Tensor。

输出:

Tensor,与 x 的shape和数据类型相同。

异常:
  • TypeError - depth_radius 不是int类型。

  • TypeError - biasalphabeta 不是float类型。

  • TypeError - norm_region 不是str。

  • TypeError - x 不是Tensor。

支持平台:

GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> x = Tensor(np.array([[[[0.1], [0.2]],
...                       [[0.3], [0.4]]]]), mindspore.float32)
>>> lrn = ops.LRN()
>>> output = lrn(x)
>>> print(output)
[[[[0.09534626]
   [0.1825742 ]]
  [[0.2860388 ]
   [0.3651484 ]]]]