def METHOD_NAME(input_name, graph, float_scope, quant_scope, place):
    input_rename_map = {}
    output_rename_map = {}
    removed_ops = []
    for op_node in graph.all_op_nodes():
        if op_node.id() in removed_ops:
            continue
        in_names = op_node.input_arg_names()
        out_names = op_node.output_arg_names()
        if out_names[0] == input_name:
            in_var = graph._find_node_by_name(op_node.inputs,
                                              op_node.input('X')[0])
            out_var = graph._find_node_by_name(op_node.outputs,
                                               op_node.output('Y')[0])
            if not in_var.persistable():
                # act
                for op in graph.all_op_nodes():
                    o_ns = op.output_arg_names()
                    if len(o_ns) == 1 and o_ns[0] == in_var.name():
                        in_var_1 = graph._find_node_by_name(
                            op.inputs, op.input('X')[0])
                        graph.safe_remove_nodes(op)
                        removed_ops.append(op.id())
                        input_rename_map[out_var.node] = in_var_1
            else:
                # weight
                with paddle.static.scope_guard(float_scope):
                    float_name = in_var.name().replace('.quantized', '')
                    float_weight = np.array(
                        float_scope.find_var(float_name).get_tensor())
                with paddle.static.scope_guard(quant_scope):
                    quant_scope.find_var(in_var.name()).get_tensor().set(
                        float_weight, place)
                input_rename_map[out_var.node] = in_var
            graph.safe_remove_nodes(op_node)
            removed_ops.append(op_node.id())
            output_rename_map[in_var.node] = out_var
    return input_rename_map, output_rename_map, removed_ops