Spaces:
Runtime error
Runtime error
| import os | |
| import csv | |
| import entity | |
| import argparse | |
| from common import defaults | |
| YOLO_DATA_TEMPLATES = { | |
| 5: ''' | |
| train: %%datapath%%/split/train | |
| val: %%datapath%%/split/val | |
| ''', | |
| 6: ''' | |
| train: %%datapath%%/split/images/train | |
| val: %%datapath%%/split/images/val | |
| test: %%datapath%%/split/images/test | |
| is_coco: False | |
| ''' | |
| } | |
| def gen_data_yaml(bcos, datapath='../data', version=6): | |
| names = [f"{d.name}" for d in bcos.values()] | |
| return f''' | |
| # this file is autogenerated by write_data.py for YOLO version {version} | |
| {YOLO_DATA_TEMPLATES[version].replace('%%datapath%%', datapath)} | |
| nc: {len(bcos.keys())} | |
| names: {names} | |
| ''' | |
| if __name__ == '__main__': | |
| parser = argparse.ArgumentParser(description='creates a YOLOv{5,6} data.yaml and trains it') | |
| parser.add_argument('csv', metavar='csv', type=str, | |
| help='csv file', default=defaults.MAIN_CSV_PATH) | |
| parser.add_argument('--version', metavar='version', type=int, | |
| help='yolo version to target', default=6) | |
| parser.add_argument('--data', metavar='data', type=str, | |
| help='data path', default=defaults.DATA_PATH) | |
| args = parser.parse_args() | |
| bcos = entity.read_entities(args.csv) | |
| with open(f'{defaults.DATA_PATH}/data.yaml', 'w') as f: | |
| f.write(gen_data_yaml(bcos, args.data, args.version)) | |