code: def LocalResponseNormalization(k, n, alpha, beta, name=""):
      x = C.placeholder(name="lrn_arg")
      x2 = C.square(x)
      # reshape to insert a fake singleton reduction dimension after the 3th axis (channel axis). Note Python axis order and BrainScript are reversed.
      x2s = C.reshape(x2, (1, C.InferredDimension), 0, 1)
      W = C.constant(
          alpha / (2 * n + 1), (1, 2 * n + 1, 1, 1), name="W"
      )
      # 3D convolution with a filter that has a non 1-size only in the 3rd axis, and does not reduce since the reduction dimension is fake and 1
      y = C.convolution(W, x2s)
      # reshape back to remove the fake singleton reduction dimension
      b = C.reshape(y, C.InferredDimension, 0, 2)
      den = C.exp(beta * C.log(k + b))
      apply_x = C.element_divide(x, den)
      return apply_x
  
file_path: CNTK/Examples/Image/Classification/ConvNet/Python/ConvNetLRN_CIFAR10_DataAug.py
imports: from __future__ import print_function
  import os
  import math
  import numpy
  import cntk
  import _cntk_py
  import cntk.io.transforms
label_desc: Use image node_id 2 for calling a global function with example usage: LocalResponseNormalization(k, n, alpha, beta, name) and returns: apply_x