code: def batch_normalization(
      self,
      input,
      name,
      scale_offset=True,
      eps=1e-5,
      relu=False,
      relu_negative_slope=0.0,
  ):
      # NOTE: Currently, only inference is supported
      fluid = import_fluid()
      prefix = name + "_"
      param_attr = (
          None
          if scale_offset is False
          else fluid.ParamAttr(name=prefix + "scale")
      )
      bias_attr = (
          None
          if scale_offset is False
          else fluid.ParamAttr(name=prefix + "offset")
      )
      mean_name = prefix + "mean"
      variance_name = prefix + "variance"
  
      leaky_relu = False
      act = "relu"
      if relu is False:
          act = None
      elif relu_negative_slope != 0.0:
          leaky_relu = True
          act = None
  
      output = fluid.layers.batch_norm(
          name=self.get_unique_output_name(name, "batch_norm"),
          input=input,
          is_test=True,
          param_attr=param_attr,
          bias_attr=bias_attr,
          moving_mean_name=mean_name,
          moving_variance_name=variance_name,
          epsilon=eps,
          act=act,
      )
  
      if leaky_relu:
          output = fluid.layers.leaky_relu(
              output, alpha=relu_negative_slope
          )
  
      return output
  
imports: from __future__ import print_function
  from builtins import str
  from past.builtins import basestring
  from builtins import object
  import sys
  import os
  import math
  import numpy
label_desc: Use image node_id 24 for calling the Network obj's underlying member method code with example usage: obj.batch_normalization(input, name, scale_offset, eps, relu, relu_negative_slope) and returns: output