def METHOD_NAME(self, quant_node, graph):
    if 'axis' in quant_node.attr:
        return False
    node = quant_node.inputs[0]
    if node.type == "DequantizeLinear":
        # Remove DQ -> Q
        if not self.has_same_quantization_params(quant_node, node):
            return False
        if quant_node.output[0] in graph.outputs or node.output[0] in graph.outputs:
            return False
        graph.replace_all_inputs(quant_node.output[0], node.input[0])
        if not graph.find_output_consumers(quant_node.output[0]):
            graph.remove_node(quant_node.name)
        if not graph.find_output_consumers(node.output[0]):
            graph.remove_node(node.name)
        return True
    # Push quantize nodes up
    tensor_idx = is_tensor_op(graph, node)
    if tensor_idx is None:
        return False
    inp_indices, out_indices = tensor_idx
    for i in out_indices:
        consumers = graph.find_output_consumers(node.output[i])
        if node.output[i] in graph.outputs:
            return False
        for c in consumers:
            if c.type != "QuantizeLinear":
                return False
            if not self.has_same_quantization_params(c, quant_node):
                return False
            if c.output[0] in graph.outputs:
                return False
    # All outputs are quantized. Push quantization up to input.
    for i in inp_indices:
        inp_q = self.make_q_or_dq(graph, "QuantizeLinear", node.input[i], quant_node, node.name)
        graph.replace_input(node, node.input[i], inp_q.output[0], i)
    for i in out_indices:
        graph.copy_dtype(quant_node.output[0], node.output[i])
        consumers = graph.find_output_consumers(node.output[i])
        for c in consumers:
            graph.replace_all_inputs(c.output[0], node.output[i])
    return True