Spaces:
Runtime error
Runtime error
import torch | |
import os | |
from vbench import VBench | |
from datetime import datetime | |
import argparse | |
def parse_args(): | |
CUR_DIR = os.path.dirname(os.path.abspath(__file__)) | |
parser = argparse.ArgumentParser(description='VBench') | |
parser.add_argument( | |
"--output_path", | |
type=str, | |
default='./evaluation_results/', | |
help="output path to save the evaluation results", | |
) | |
parser.add_argument( | |
"--full_json_dir", | |
type=str, | |
default=f'{CUR_DIR}/vbench/VBench_full_info.json', | |
help="path to save the json file that contains the prompt and dimension information", | |
) | |
parser.add_argument( | |
"--videos_path", | |
type=str, | |
required=True, | |
help="folder that contains the sampled videos", | |
) | |
parser.add_argument( | |
"--dimension", | |
nargs='+', | |
required=True, | |
help="list of evaluation dimensions, usage: --dimension <dim_1> <dim_2>", | |
) | |
parser.add_argument( | |
"--load_ckpt_from_local", | |
type=bool, | |
required=False, | |
help="whether load checkpoints from local default paths (assuming you have downloaded the checkpoints locally", | |
) | |
parser.add_argument( | |
"--read_frame", | |
type=bool, | |
required=False, | |
help="whether directly read frames, or directly read videos", | |
) | |
parser.add_argument( | |
"--custom_input", | |
action="store_true", | |
required=False, | |
help="whether use custom input prompt or vbench prompt" | |
) | |
parser.add_argument( | |
"--output_filename", | |
type=str, | |
required=True, | |
help="filename before _full_info or _eval_results", | |
) | |
args = parser.parse_args() | |
return args | |
def main(): | |
args = parse_args() | |
print(f'args: {args}') | |
device = torch.device("cuda") | |
my_VBench = VBench(device, args.full_json_dir, args.output_path) | |
print(f'start evaluation') | |
# current_time = datetime.now().strftime('%Y-%m-%d-%H:%M:%S') | |
my_VBench.evaluate( | |
videos_path = args.videos_path, | |
name = args.output_filename, | |
dimension_list = args.dimension, | |
local=args.load_ckpt_from_local, | |
read_frame=args.read_frame, | |
custom_prompt=args.custom_input, | |
) | |
print('done') | |
if __name__ == "__main__": | |
main() | |