def METHOD_NAME(model_dir, model_filename=None, params_filename=None):
    """
    Whether the shape of model's input is variable.
    Args:
        path_prefix(str | None): Directory path to save model + model name without suffix.
        model_filename(str): specify model_filename if you don't want to use default name. Default : None.
        params_filename(str): specify params_filename if you don't want to use default name. Default : None.
    Returns:
        bool: Whether the shape of model's input is variable.
    """
    paddle.enable_static()
    exe = paddle.static.Executor(paddle.CPUPlace())
    inference_program, feed_target_names, fetch_targets = load_inference_model(
        model_dir,
        exe,
        model_filename=model_filename,
        params_filename=params_filename)
    for var_ in inference_program.list_vars():
        if var_.name in feed_target_names:
            if var_.shape.count(-1) > 1:
                return True