code: def _get_symmetric_padding(self, IR_node):
      stride_h = IR_node.get_attr("strides")[1]
      stride_w = IR_node.get_attr("strides")[2]
  
      # check if have pad layer
      IR_parent_node = self.IR_graph.get_parent(IR_node.name, [0])
      if IR_parent_node.type == "Pad":
          pads = IR_parent_node.get_attr("pads")
      else:
          pads = IR_node.get_attr("pads")
  
      # Pad_h < kernel_h (vgg19 caffe2caffe)
      if IR_node.type == "Pool":
          if pads[1]:
              pad_h = pads[1] + (0 if pads[1] == pads[5] else stride_h)
          else:
              pad_h = 0
          if pads[2]:
              pad_w = pads[2] + (0 if pads[2] == pads[6] else stride_w)
          else:
              pad_w = 0
      elif IR_node.type == "Unpool":
          pad_h = 0
          pad_w = 0
      else:
          pad_h = pads[1] + (0 if pads[1] == pads[5] else stride_h)
          pad_w = pads[2] + (0 if pads[2] == pads[6] else stride_w)
  
      return pad_h, pad_w
  
imports: from __future__ import division
  import os
  import sys
  import math
  import numpy
  import caffe
  from caffe import layers
  from caffe import params
  from mmdnn.conversion.common.IR.IR_graph import IRGraph, IRGraphNode
  import mmdnn.conversion.common.IR.graph_pb2
  from mmdnn.conversion.common.IR.graph_pb2 import NodeDef, GraphDef, DataType
  from mmdnn.conversion.common.DataStructure.emitter import Emitter
  from mmdnn.conversion.common.utils import *
label_desc: Use image node_id 7 for calling the CaffeEmitter obj's underlying member method code with example usage: obj._get_symmetric_padding(IR_node) and returns: pad_h,  pad_w