code: def rename_BatchNormalization(self, coreml_node):
      IR_node = self.IR_graph.node.add()
  
      coreml_node_layer = coreml_node.layer
      coreml_node_bn = coreml_node_layer.batchnorm
  
      # name, op
      CoremlParser._copy_and_reop(coreml_node, IR_node, "BatchNorm")
  
      # input edge
      self.convert_inedge(coreml_node, IR_node)
  
      # axis TODO
      # channels_first, then axis = 1
      IR_node.attr["axis"].i = -1
  
      # scale
      IR_node.attr["scale"].b = coreml_node_bn.HasField("gamma")
  
      # bias
      IR_node.attr["bias"].b = coreml_node_bn.HasField("beta")
  
      # epsilon
      IR_node.attr["epsilon"].f = coreml_node_bn.epsilon
  
      if IR_node.attr["scale"].b:
          self.set_weight(
              coreml_node_layer.name,
              "scale",
              np.array(
                  coreml_node_bn.gamma.floatValue, dtype=np.float32
              ),
          )
  
      if IR_node.attr["bias"].b:
          self.set_weight(
              coreml_node_layer.name,
              "bias",
              np.array(
                  coreml_node_bn.beta.floatValue, dtype=np.float32
              ),
          )
  
      gamma, beta = None, None
      if IR_node.attr["scale"].b:
          gamma = np.array(
              coreml_node_bn.gamma.floatValue, dtype=np.float32
          )
      if IR_node.attr["bias"].b:
          beta = np.array(
              coreml_node_bn.beta.floatValue, dtype=np.float32
          )
  
      mean = np.array(coreml_node_bn.mean.floatValue)
      variance = np.array(coreml_node_bn.variance.floatValue)
  
      gamma = np.ones(mean.shape) if gamma is None else gamma
      beta = np.zeros(mean.shape) if beta is None else beta
  
      # compute adjusted parameters
      # Reference: parameter transformation https://github.com/apple/coremltools/issues/153
      f = 1.0 / np.sqrt(variance + coreml_node_bn.epsilon)
      gamma1 = gamma * f
      beta1 = beta - gamma * mean * f
      mean[:] = 0.0  # mean
      variance[:] = 1.0 - 0.00001  # stddev
  
      # convert type because of tensorflow
      gamma1 = gamma1.astype(np.float32)
      beta1 = beta1.astype(np.float32)
      mean = mean.astype(np.float32)
      variance = variance.astype(np.float32)
  
      if IR_node.attr["scale"].b:
          self.set_weight(coreml_node_layer.name, "scale", gamma1)
  
      if IR_node.attr["bias"].b:
          self.set_weight(coreml_node_layer.name, "bias", beta1)
  
      # mean
      self.set_weight(coreml_node_layer.name, "mean", mean)
  
      # var
      self.set_weight(coreml_node_layer.name, "var", variance)
  
imports: import os
  from six import string_types
  import numpy
  import math
  from coremltools.models.neural_network import NeuralNetworkBuilder
  from coremltools.models import datatypes
  from coremltools.models import MLModel
  from coremltools.models.utils import save_spec
  from coremltools.models._infer_shapes_nn_mlmodel import infer_shapes
  from coremltools.proto import Model_pb2, NeuralNetwork_pb2
  from mmdnn.conversion.coreml.coreml_graph import CoremlGraph
  import mmdnn.conversion.common.IR.graph_pb2
  from mmdnn.conversion.common.IR.graph_pb2 import NodeDef, GraphDef, DataType
  from mmdnn.conversion.common.DataStructure.parser import Parser
  from mmdnn.conversion.common.utils import *
label_desc: Use image node_id 19 for calling the CoremlParser obj's underlying member method code with example usage: obj.rename_BatchNormalization(coreml_node) without return types