mindspore.ops.lrn

mindspore.ops.lrn(x, depth_radius=5, bias=1.0, alpha=1.0, beta=0.5, norm_region='ACROSS_CHANNELS')[源代码]

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

\[b_{c} = a_{c}\left(k + \frac{\alpha}{n} \sum_{c'=\max(0, c-n/2)}^{\min(N-1,c+n/2)}a_{c'}^2\right)^{-\beta}\]

其中 \(a_{c}\) 表示特征图中 \(c\) 对应的具体像素值; \(n/2\) 为参数 depth_radius\(k\) 为参数 bias\(\alpha\) 为参数 alpha\(\beta\) 为参数 beta

参数:

  • x (Tensor) - 数据类型为float16或float32的4维Tensor。

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

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

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

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

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

返回:

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

异常:

  • TypeError - depth_radius 不是int类型。

  • TypeError - biasalphabeta 不是float类型。

  • TypeError - norm_region 不是str。

  • TypeError - x 不是Tensor。

支持平台:

Ascend GPU CPU

样例:

>>> input_x = Tensor(np.array([[[[0.1], [0.2]],
...                       [[0.3], [0.4]]]]), mindspore.float32)
>>> output = ops.lrn(input_x)
>>> print(output)
[[[[0.09534626]
   [0.1825742 ]]
  [[0.2860388 ]
   [0.3651484 ]]]]