code: def bprop(self, error, alpha=1.0, beta=0.0):
      error_rs = error.reshape(self.channels, -1)
      self.dW[:] = (
          self.be.sum(self.outputs_view * error_rs, axis=1) / self.W
      )
  
      self.deltas_view = self.deltas.reshape(self.channels, -1)
  
      # we may be able to join these back together into 1 assing call
      self.deltas_view[:] = -self.outputs_view * self.be.sum(
          self.bottom_data * error_rs, axis=0
      )
      self.deltas_view[:] = self.deltas_view / self.be.square(
          self.norm_data
      )
      # this is separate
      self.deltas_view[:] += self.W * error_rs / self.norm_data
      return self.deltas
  
imports: from neon.layers.layer import Layer, ParameterLayer
  import numpy
  from neon.transforms import Softmax
  from neon.initializers.initializer import Constant
  import math
  from collections import OrderedDict
label_desc: Use image node_id 5 for calling the Normalize obj's underlying member method code with example usage: obj.bprop(error, alpha, beta) and returns: self