AssertionError: train: No labels in VOCData\VOC\train.cache
这个大概率跟数据集的路径有关,主要考虑两个问题:
1、如果是用了train.txt来保存训练集的图片路径,那么里面的路径需要改成绝对路径
2、如果没有用train.txt,而直接在yaml文件里面这样写的话
那么多半是数据集命名问题,因为在yolov7的dataset中,是把数据集最后一级的命名写死了的,要严格按照下图,命名都要一样,否则就需要去dataset.py里面改源码
UnicodeDecodeError : 'gbk' codec can't decode byte 0x80 in position 205: illegal multibyte sequence
这里是说“gbk”编解码器无法解码文件中的部分字符串,比如存在中文标签等情况,需要在全局搜索(ctrl、shift、F同时按住)with open,在train.py中,把with open(opt.data) as f:改成
with open(opt.data,encoding='utf-8') as f:
_pickle.UnpicklingError: STACK_GLOBAL requires str
这个可能是因为之前犯的错误生成的错误缓存文件导致的,在labels文件夹里面,找到并删除,再运行就可以了