code: def rename_BatchNormalization(self, source_node):
      kwargs = dict()
      kwargs["scale"] = False
      kwargs["bias"] = False
      for param in source_node.layer.inputs:
          if param.name.endswith("scale"):
              self.set_weight(
                  source_node.name,
                  "scale",
                  self.get_ndarray(param).flatten(),
              )
              kwargs["scale"] = True
  
          elif param.name.endswith("bias"):
              self.set_weight(
                  source_node.name,
                  "bias",
                  self.get_ndarray(param).flatten(),
              )
              kwargs["bias"] = True
  
          elif param.name.lower().endswith("mean"):
              self.set_weight(
                  source_node.name,
                  "mean",
                  self.get_ndarray(param).flatten(),
              )
  
          elif param.name.lower().endswith("variance"):
              self.set_weight(
                  source_node.name,
                  "var",
                  self.get_ndarray(param).flatten(),
              )
  
      IR_node = self._convert_identity_operation(
          source_node, end_edge=1, new_op="BatchNorm"
      )
      kwargs["epsilon"] = source_node.get_attr("epsilon")
      kwargs["axis"] = -1
      assign_IRnode_values(IR_node, kwargs)
  
imports: import os
  import numpy
  from six.moves import xrange
  import cntk
  from mmdnn.conversion.cntk.cntk_graph import CntkGraph
  import mmdnn.conversion.common.IR.graph_pb2
  from mmdnn.conversion.common.IR.graph_pb2 import NodeDef, GraphDef, DataType
  from mmdnn.conversion.common.utils import *
  from mmdnn.conversion.common.DataStructure.parser import Parser
label_desc: Use image node_id 28 for calling the CntkParser obj's underlying member method code with example usage: obj.rename_BatchNormalization(source_node) without return types