AssertionError: train: No labels found in xx/train.cache

 主要问题是发生了无法找到训练的标签的情况。自己也花了几个小时,因为普通的情况情况下理论上是应该是可以解决的,结果发现一直报错,将问题记录下来。

1.普通情况

一般是修改 data目录下找到相对于配置文件路径的包,进行更正即可

一般情况下都是自己的路径命名不正确导致的。

应该是数据图片与标签处于同一个文件夹之下,一般情况下默认的分别命名是:images   labels

!!一定要注意单词不能有错误,s也是不能少的



# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
train: E:\photo\train\images 

#  # val images (relative to 'path')  4952 images
val: E:\photo\bal\images 

2.配置问题

这里的配置问题是自己的默认名称相对应的查询存在问题。如果上面情况修正之后仍然报错的话可以参考目前的这一种方法。

需要找到对于的配置文件在:utils/dataloader.py文件

然后修改如下即可

def img2label_paths(img_paths):
    # Define label paths as a function of image paths
    sa, sb = f'{os.sep}images{os.sep}', f'{os.sep}labels{os.sep}'  # /images/, /labels/ substrings
    return [sb.join(x.rsplit(sa, 1)).rsplit('.', 1)[0] + '.txt' for x in img_paths]

其实最重要的也是唯一需要关注的就是下面这行代码:

 sa, sb = f'{os.sep}images{os.sep}', f'{os.sep}labels{os.sep}'

希望以上两种方法可以帮助到你,解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值