generate_vae_annotation.py 1.17 KB
Newer Older
mashun's avatar
mashun committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from pathlib import Path
from argparse import ArgumentParser

import json

from typing import Union


def generate_vae_annotation(data_root: str,
                            data_type: str,
                            save_path: str):
    assert data_type in ['image', 'video']
    
    data_root = Path(data_root)
    
    if data_type == "video":
        data_path_list = [*data_root.glob("*.mp4")]
    elif data_type == "image":
        data_path_list = [*data_root.glob("*.png"), *data_root.glob("*.jpeg"),
                          *data_root.glob("*.jpg"), *data_root.glob("*.JPEG")]
    else:
        raise NotImplemented
    
    with open(save_path, "w") as f:
        for data_path in data_path_list:
            f.write(json.dumps({data_type: str(data_path.resolve())}, ensure_ascii=False) + '\n')


if __name__ == '__main__':
    parser = ArgumentParser()
    
    parser.add_argument("--data_root", type=str)

    parser.add_argument("--data_type", type=str)

    parser.add_argument("--save_path", type=str)
    
    args = parser.parse_args()
    
    generate_vae_annotation(args.data_root,
                            args.data_type,
                            args.save_path)