YOLO/txt标签种类序号批量修改

有些人想讲多个独立的数据集合并一起训练,此时往往遇到一个问题,比如有两类,这两类原来打标签时,类别序号均为0,现在就不能直接合并在一起,需要将某一类标签改为1,然后再合并,才不至于导致种类混乱(否则标签序号只有0,认为是一类,但配置的nc又是2)

一、思路

先不合并标签,只对一个数据集标签文件夹下的所有txt进行修改。

二、程序

import os
import re
# 路径
path = 'C:/Users/CNXIGAO13/Desktop/lights_labels/'
# 文件列表
files = []
for file in os.listdir(path):
    if file.endswith(".txt"):
        files.append(path+file)
# 逐文件读取-修改-重写
for file in files:
    with open(file, 'r') as f:
        new_data = re.sub('^1', '0', f.read(), flags=re.MULTILINE)    # 将列中的1替换为0
    with open(file, 'w') as f:
        f.write(new_data)

三、注意事项

要注意的是,有的时候两个数据集都不止一类,比如,A数据集3类(0-2),B数据集4类(0-3),而且A数据集的序号为1的类跟B数据集的序号为3的类是同一类,这处理的时候要小心,比如修改B数据集,先将B数据集的txt下的序号为0,1,2分别改成4,5,6(注意不能是3,这会跟原有的3混合一起),然后将序号3改成1,再将4改成3,5改成4,6改成5。

  • 17
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xiaohouzi112233

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

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

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

打赏作者

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

抵扣说明:

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

余额充值