import os
import random
trainval_percent = 0.85
train_percent = 0.7
xmlfilepath = 'D:\Project\Bi-Ye\data-xml\VOC2007\Annotations'
txtsavepath = 'ImageSets\Main'
print(txtsavepath)
total_xml = os.listdir(xmlfilepath)
num = len(total_xml)
list = range(num)
tv = int(num*trainval_percent)
tr = int(tv*train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)
ftrainval = open('D://Project//Bi-Ye//data-xml//VOC2007//ImagesSet/Main/trainval.txt', 'w')
ftest = open('D://Project//Bi-Ye//data-xml//VOC2007//ImagesSet//Main//test.txt', 'w')
ftrain = open('D://Project//Bi-Ye//data-xml//VOC2007//ImagesSet//Main//train.txt', 'w')
fval = open('D://Project//Bi-Ye//data-xml//VOC2007//ImagesSet//Main//val.txt', 'w')
for i in list:
name = total_xml[i][:-4]+'\n'
if i in trainval:
ftrainval.write(name)
if i in train:
ftrain.write(name)
else:
fval.write(name)
else:
ftest.write(name)
ftrainval.close()
ftrain.close()
fval.close()
ftest .close()
voc2007 数据集随机分割代码
最新推荐文章于 2024-10-06 13:38:01 发布
该代码用于将数据集按照指定比例划分为训练集、验证集和测试集。通过随机采样确定样本分配,生成相应的txt文件以供后续训练使用。主要涉及文件操作和列表处理。
769

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



