在用yolov8中ultralytics/datasets/coco.yaml训练时出现了no labels found in train2017.cache的错误。
model.train(
data="ultralytics/datasets/coco.yaml",
epochs=100,
imgsz=640,
batch=16,
save_period=10,
)
下面查找一个这个问题出现的原因。
这里并没有提前下载coco数据集,是在训练时自动下载的,下载速度比较慢。
然后会在datasets下面出现一个coco文件夹(如果文件夹没有出现在这里,请查看~/.config/Ultralytics/settings.yaml中的路径设置).

train.cache在labels文件夹里。它并不是下载的,而是根据images里的train和val图片找到labels里面对应的文件之后生成的。
所以要查看在这个生成的过程中出了什么问题。
首先查看images和labels的路径是否正确。
在ultralytics/yolo/data/dataset.py中查看label_files,看文件是否存在。
(网上很多文章中这一步已经能解决问题)
def get_labels(self):
"""Returns dictionary of labels for YOLO training."""
self.label_files = img2label_paths(self.im_files)
#print(self.label_files)
cache_path = Path(self.label_files[0]).parent.with_suffix('.cache')
这一步博主查看文件夹是存在这些文件的。还需要继续找原因。
报错的地方在这里。
# Display cache
nf, nm, ne, nc, n = cache.pop('results') # found, missing, empty, corrupt, total
if exists and LOCAL_RANK in (-1, 0

文章讲述在yolov8训练时遇到的coco.yaml错误,涉及数据集下载问题和cache生成失败,需检查images路径和train2017.zip完整性。
最低0.47元/天 解锁文章
1002

被折叠的 条评论
为什么被折叠?



