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() | |