import os
import random
trainval_percent = 0.1
train_percent = 0.9
xmlfilepath = 'data/Annotations-guosai'
txtsavepath = 'data/ImageSets'
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('data/ImageSets/trainval.txt', 'w')
ftest = open('data/ImageSets/test.txt', 'w')
ftrain = open('data/ImageSets/train.txt', 'w')
fval = open('data/ImageSets/val.txt', 'w')
for i in list:
name = total_xml[i][:-4] + '\n'
if i in trainval:
ftrainval.write(name)
if i in train:
ftest.write(name)
else:
fval.write(name)
else:
ftrain.write(name)
ftrainval.close()
ftrain.close()
fval.close()
ftest.close()
XML文件划分为训练集和测试集
于 2023-07-01 21:25:14 首次发布
该脚本使用Python的os和random库将数据集按指定比例划分为训练集(90%)、验证集(10%)以及进一步将验证集分为训练和测试集。它读取Annotations-guosai目录下的XML文件列表,生成对应的trainval.txt、test.txt、train.txt和val.txt文件,用于后续机器学习模型的训练和评估。
摘要由CSDN通过智能技术生成