YoloV5训练本地数据问题解决:AssertionError: train: No labels in 2007_train.cache. Can not train without labels
问题1
在实现YoloV5训练本地数据时遇到了一个关于标签没有读取的问题,无法进行训练,在寻找了多个实验方法之后发现此博文有相似的错误,进而参考其解决方法顺利解决,在此做一下记录。
Q1解决方法
打开dataset.py文件,使用快捷键Ctrl+F使用搜索框搜索define label
按照正常的VOC标注之后图片应该时保存在JPEGImages文件夹下的,但是根据源码则是读取的images里的图片,因此需要将images改为JPEGImages,这样就能正常读取了。
问题2
在运行的时候出现了这个问题RuntimeError: shape ‘[16, 3, 85, 52, 80]’ is invalid for input of size 17971,其实此类问题的本质是输入的数据维度与需要的维度不一致导致的,因此最大的可能性就是你的数据的设置出现了问题(因为网络本身的结构是没有问题的),这个时候就要去检查下你这行代码出现的地方,把相对应的数据输出再与自己想要的进行对比就能发现你的数据错误。
Q2解决方法:
我的错误是因为配置文件里的nc,即类别的数量搞错了,与我的数据不符合,因此报错。解决方法就是找到你的对应的data配置文件,把nc改成你对应的数据集的类别数量即可。