code: def conv_bn(self, op_list):
      conv_op = add_op = mul_value = add_value = None
      next_op_list = op_list[-1].outputs
      for op in op_list[0]:
          if op.node.op == "Conv2D":
              conv_op = op
          elif op.node.op == "Add" or op.node.op == "AddV2":
              add_op = op
  
      for op in op_list[1:]:
          if op.node.op == "Mul":
              self._remove_node(self.op_dict[op.node.name])
              value = self._run_tensor(op.node.input[1])[0]
              mul_value = np.transpose(value, (0, 2, 3, 1))
          elif op.node.op == "Add" or op.node.op == "AddV2":
              self._remove_node(self.op_dict[op.node.name])
              value = self._run_tensor(op.node.input[1])[0]
              add_value = np.transpose(value, (0, 2, 3, 1))
  
      weight_value = self._run_tensor(conv_op.node.input[1])[0]
      weight_value *= mul_value
      self._create_const_node(conv_op.node.input[1], [weight_value])
      if add_op:
          bias_value = self._run_tensor(add_op.node.input[1])[0]
          bias_value = bias_value * mul_value + add_value
          self._create_const_node(add_op.node.input[1], [bias_value])
      else:
          bias_value = add_value
          bias_name = self.fork_name("bias")
          self._create_const_node(bias_name, [bias_value])
          node = tf.NodeDef()
          node.name = self.fork_name("add")
          node.op = "Add"
          node.input.extend([conv_op.node.name, bias_name])
          node.attr["T"].type = op_list[-1].node.attr["T"].type
          self.op_dict[node.name] = Operator(node)
          self.op_dict[node.name].inputs = [conv_op]
          self.op_dict[node.name].outputs = conv_op.outputs
          conv_op.outputs = [self.op_dict[node.name]]
          for op in next_op_list:
              op.node.input[
                  list(op.node.input).index(conv_op.node.name)
              ] = node.name
              op.inputs.remove(conv_op)
              op.inputs.append(self.op_dict[node.name])
      return conv_op
  
imports: import numpy
  import tensorflow.compat.v1
  from tensorflow.core.framework.tensor_pb2 import TensorProto
  from tensorflow.core.framework.tensor_shape_pb2 import TensorShapeProto
label_desc: Use image node_id 23 for calling the RefineGraph obj's underlying member method code with example usage: obj.conv_bn(op_list) and returns: conv_op