code: def rename_Convolution(self, source_node):
      IR_node = self._convert_identity_operation(
          source_node, new_op="Conv"
      )
  
      for input in source_node.layer.inputs:
          if input.name.endswith("W"):
              W = self.get_ndarray(input)
              break
  
      W = self.channel_first_conv_kernel_to_IR(W)
      self.set_weight(source_node.name, "weights", W)
  
      attributes = CntkParser._get_attribute(
          source_node.layer, "strides"
      )
  
      kwargs = dict()
      kwargs["strides"] = [1] + list(attributes["strides"])[1:] + [1]
      kwargs["dilations"] = [1] + list(attributes["dilation"])[1:] + [1]
      kwargs["kernel_shape"] = list(W.shape)
      padding = attributes["autoPadding"][1:]
  
      for pad in padding:
          assert pad == padding[0]
  
      kwargs["auto_pad"] = "SAME_LOWER" if padding[0] else "VALID"
      kwargs["pads"] = self._convert_padding_to_IR(
          kwargs["kernel_shape"][:-2], padding
      )
  
      kwargs["use_bias"] = self._fuse_bias_node(source_node)
  
      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 12 for calling the CntkParser obj's underlying member method code with example usage: obj.rename_Convolution(source_node) without return types