Spaces:
Runtime error
Runtime error
import argparse | |
import json | |
import os | |
import sys | |
sys.path.append('.') | |
from imaginaire.utils.lmdb import create_metadata # noqa: E402 | |
from imaginaire.config import Config # noqa: E402 | |
def parse_args(): | |
r"""Parse user input arguments""" | |
parser = argparse.ArgumentParser(description='Folder -> LMDB conversion') | |
parser.add_argument('--data_root', type=str, required=True, | |
help='Input data location.') | |
parser.add_argument('--output_root', type=str, default='', | |
help='Input data location.') | |
parser.add_argument('--config', type=str, required=True, | |
help='Config with label info.') | |
parser.add_argument('--paired', default=False, action='store_true', | |
help='Is the input data paired?') | |
parser.add_argument('--input_list', type=str, default='', | |
help='list of images that will be used.') | |
args = parser.parse_args() | |
return args | |
def main(): | |
r""" Build lmdb for training/testing. | |
Usage: | |
python scripts/build_index.py \ | |
--data_root /mnt/bigdata01/datasets/test_image \ | |
--output_root /mnt/bigdata01/datasets/test_image/lmdb_0/ \ | |
--overwrite | |
""" | |
args = parse_args() | |
if args.output_root == '': | |
args.output_root = args.data_root | |
cfg = Config(args.config) | |
all_filenames, extensions = \ | |
create_metadata( | |
data_root=args.data_root, | |
cfg=cfg, | |
paired=args.paired, | |
input_list=args.input_list) | |
os.makedirs(args.output_root, exist_ok=True) | |
if args.paired: | |
base = args.data_root.split('/')[-1] | |
new_all_filenames = dict() | |
for key in all_filenames.keys(): | |
new_all_filenames['{}/{}'.format(base, key)] = all_filenames[key] | |
all_filenames = new_all_filenames.copy() | |
# Output list of all filenames. | |
with open(args.output_root + '/all_filenames.json', 'w') as fout: | |
json.dump(all_filenames, fout, indent=4) | |
# Output metadata. | |
with open(args.output_root + '/metadata.json', 'w') as fout: | |
json.dump(extensions, fout, indent=4) | |
if __name__ == "__main__": | |
main() | |