处理txt文本,得到需要的字符串(根据训练集合验证集文本,生成对应的文件名)

8 篇文章 0 订阅


原来用的yolov3的代码,是直接按0.9和0
1的比例,划分训练验证集和测试集。所以得到的是两个文件 tranval.txt 和test.txt。yolov3的代码训练的时候会吧trainval.txt按0.9和0.1的比例划分好训练集和验证集。现在yolov5和yolov7的代码需要提前划分好训练集和验证集和测试集。所以需要转化一下数据集

yolov3的数据集格式

在这里插入图片描述
已经转化成2007_train.txt 可以直接用来训练

yolov5 需要的数据集格式

在这里插入图片描述
需要得到对应的文件名

2007_train.txt

F:\WorkSpace\Python\yolo3-pytorch/VOCdevkit/VOC2007/JPEGImages/1_Handshaking_Handshaking_1_410.jpg 413,69,529,226,1 69,20,94,55,1 43,189,70,223,1
F:\WorkSpace\Python\yolo3-pytorch/VOCdevkit/VOC2007/JPEGImages/1_Handshaking_Handshaking_1_411.jpg 22,62,134,212,1 260,6,414,178,1 670,64,750,262,1 862,114,992,352,1
F:\WorkSpace\Python\yolo3-pytorch/VOCdevkit/VOC2007/JPEGImages/1_Handshaking_Handshaking_1_417.jpg 258,30,296,77,1 221,93,272,160,1 132,189,208,295,1 459,61,576,215,1 665,55,774,201,1 476,512,569,622,1 606,536,668,634,1 238,699,278,806,1 388,1098,434,1159,1 153,1188,182,1229,1 183,1179,203,1208,1 239,1151,265,1186,1 670,1161,699,1213,1 832,1124,866,1186,1 911,1162,968,1221,1 833,219,919,338,1 972,138,1023,249,1 273,864,342,942,1 398,823,460,906,1 740,1164,771,1219,1 712,1213,748,1261,1 42,1182,72,1224,1 109,1218,132,1271,1 418,5,489,97,1 534,1154,565,1196,1 483,1147,522,1197,1 992,1162,1024,1203,1
F:\WorkSpace\Python\yolo3-pytorch/VOCdevkit/VOC2007/JPEGImages/1_Handshaking_Handshaking_1_42.jpg 200,44,356,214,1

只需要文件名 1_Handshaking_Handshaking_1_417 ,写入到val.txt 文件中,生成yolov5的label文件。

划分文件

import os
import random

wd = os.getcwd()

saveBasePath = 'val'
ftrain = open('val.txt', 'w')

# count = len(open("2007_train.txt",'r').readlines())
# print(count)

with open('./2007_val.txt', 'r') as f:
    for num, line in enumerate(f):
        name = line.split('/')[4].split('.')[0]+'\n'
        print(name)
        ftrain.write(name)
ftrain.close()

train.txt 文件

1_Handshaking_Handshaking_1_281
1_Handshaking_Handshaking_1_288
1_Handshaking_Handshaking_1_289
1_Handshaking_Handshaking_1_292
1_Handshaking_Handshaking_1_306

利用data_transfer项目得到yolov5对应的数据集格式

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值