原因:pandas读取csv时,会将数字字符转化为int,如果你数据集的标签是数字字符,那么就会报错。原因是转化为int后就按照classname_to_id字典映射就会报KeyError。
解决办法:
将main函数中
annotations = pd.read_csv(csv_file,header=None).values
改为
annotations = pd.read_csv(csv_file,header=None,dtype=str).values
csv2coco.py来源:
https://github.com/spytensor/prepare_detection_dataset