def METHOD_NAME(loading_path: 'str', saving_path: 'str', compressed_ops: List['str'], input_shape: Tuple):
    """
    Loads a Keras model and re-saves the loaded object in the form of tf.Module
    :param loading_path: Path to load the Keras Model
    :param saving_path: Path to save the object
    :param  compressed_ops: List of ops names for which we need to skip in Keras model creation. These are the the
                            ops that AIMET compressed and are isolated from rest of the graph.
    :param input_shape: shape of input to the model
    :return: None
    """
    def trace_model(inputs):
        tf.keras.backend.set_learning_phase(1)
        model = load_tf_sess_variables_to_keras_single_gpu(loading_path, compressed_ops)
        train_out = model(inputs, training=True)
        return train_out
    def export():
        tf.keras.backend.clear_session()
        with tf.compat.v1.keras.backend.get_session() as sess:
            fn = tf.wrap_function(trace_model, signature=[tf.TensorSpec((None, input_shape[0], input_shape[1],
                                                                         input_shape[2]), tf.float32)])
            train_fn = fn.prune(feeds=fn.inputs[0], fetches=fn.outputs[0])
            obj = tf.Module()
            obj.variables_list = list(fn.graph.variables)
            sess.run(tf.compat.v1.global_variables_initializer())
            tf.saved_model.save(obj, saving_path, {'train': train_fn, 'serving_default': train_fn})
    export()