code: def rename_Pooling(self, source_node):
      IR_node = self.IR_graph.node.add()
  
      # name, op
      self._copy_and_reop(source_node, IR_node, "Pool")
  
      # input edge
      self.convert_inedge(source_node, IR_node)
  
      # pooling type (sum not allowed yet)
      pool_type = source_node.get_attr("pool_type")
      if pool_type == "sum":
          print("Warning: sum pooling is not supported yet.")
      elif pool_type == "max":
          assign_IRnode_values(IR_node, {"pooling_type": "MAX"})
      elif pool_type == "avg":
          assign_IRnode_values(IR_node, {"pooling_type": "AVG"})
      else:
          raise ValueError("Error pool_type {}.".format(pool_type))
  
      kernel_shape = MXNetParser.str2intList(
          source_node.get_attr("kernel")
      )
  
      if MXNetParser.str2bool(
          source_node.get_attr("global_pool", "False")
      ):
          IR_node.attr["global_pooling"].b = True
          IR_node.attr["kernel_shape"].list.i[:] = [1] * (
              len(kernel_shape) + 2
          )
          IR_node.attr["strides"].list.i[:] = [1] * (
              len(kernel_shape) + 2
          )
      else:
          IR_node.attr["global_pooling"].b = False
  
          # strides
          strides = source_node.get_attr("stride")
          IR_node.attr["strides"].list.i.append(1)
          if not strides == None:
              IR_node.attr["strides"].list.i.extend(
                  MXNetParser.str2intList(strides)
              )
          IR_node.attr["strides"].list.i.append(1)
  
          # kernel_shape
          IR_node.attr["kernel_shape"].list.i.append(1)
          IR_node.attr["kernel_shape"].list.i.extend(kernel_shape)
          IR_node.attr["kernel_shape"].list.i.append(1)
  
          # padding
          if "pad" in source_node.attr:
              pad = MXNetParser.str2intList(source_node.get_attr("pad"))
              IR_node.attr["pads"].list.i.extend(([0] + pad + [0]) * 2)
          else:
              IR_node.attr["pads"].list.i.extend(([0]) * 8)
  
      # output shape
      self.set_output_shape(source_node, IR_node)
  
imports: import os
  import sys
  import math
  import mxnet
  import numpy
  from mmdnn.conversion.mxnet.mxnet_graph import MXNetGraph
  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 23 for calling the MXNetParser obj's underlying member method code with example usage: obj.rename_Pooling(source_node) without return types