YOLOv5训练数据提示No labels found

利用YOLOv5训练数据的时候,一直提示找不到标签。
1.首先检查图片文件和标签文件的位置,这两个文件要在同一个路径下。如下:

在这里插入图片描述

2.文件夹位置OK,再检查下yaml配置文件中的信息是否正确。看起来也没有问题。
在这里插入图片描述
3.但是依旧提示找不到标签╮(╯▽╰)╭,仔细看下数据加载、处理的文件datasets.py,发现有一句会根据第2步中images文件夹的位置找到对应labels文件夹:

# Define labels
self.label_files = [x.replace('images', 'labels').replace(os.path.splitext(x)[-1], '.txt') for x in self.img_files]

在这里插入图片描述
这个替换不仅替换了文件夹的名称,顺便把文件名也改了(O_o)??
我的图片文件命名都是images(1).jpg、images(2).jpg、images(3).jpg、images(4).jpg、images(5).jpg…
对应的标签文件就是images(1).txt、images(2).txt、images(3).txt、images(4).txt、images(5).txt…
但是经过这个转变就变成了labels(1).txt、labels(2).txt、labels(3).txt、labels(4).txt、labels(5).txt…
这能找到才有鬼啊!!!
想了一下最简单的方法就是把文件名批量改一下了Python 批量修改文件名


import os
#输入要更改文件的上级目录,我的话就是images和labels这两个文件夹下的train文件夹和val文件夹,以下以images/train文件夹为例。
path = "H:/data/fire_data/images/train" 
#需要被替换的字符images
originalname = 'images' 
#替换的字符串fire
replacename = 'fire' 
def main1(path1):
    files = os.listdir(path1)  # 得到文件夹下的所有文件名称
    for file in files: #遍历文件夹
        if os.path.isdir(path1 + '\\' + file):
            main1(path1 + '\\' + file)
        else:
            files2 = os.listdir(path1 + '\\')
            for file1 in files2:
                if originalname in file1:
                    #用‘’替换掉 X变量
                    n = str(path1 + '\\' + file1.replace(originalname,replacename))
                    n1 = str(path1 + '\\' + str(file1))
                    try:
                        os.rename(n1, n)
                    except IOError:
                        continue
main1(path)

修改完名字再运行一下train.py,没有问题了,默默等数据训练完就好啦!在这里插入图片描述

  • 24
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rena要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值