code: def forward_cpu(self, inputs):
      if self._use_ideep:
          return self._backward_ideep(inputs)
  
      x, y, gy = inputs
      half_n = self.n // 2
      summand = y * gy / self.unit_scale
      sum_part = summand.copy()
      for i in six.moves.range(1, half_n + 1):
          sum_part[:, i:] += summand[:, :-i]
          sum_part[:, :-i] += summand[:, i:]
  
      gx = gy * self.scale - 2 * self.alpha * self.beta * x * sum_part
      return (gx,)
  
imports: import numpy
  import six
  from chainer.backends import cuda
  from chainer.backends import intel64
  from chainer import function_node
  from chainer.utils import type_check
label_desc: Use image node_id 2 for calling the LocalResponseNormalizationGrad obj's underlying member method code with example usage: obj.forward_cpu(inputs) and returns: gx, self