训练集,测试集数量的确定

Posted lwjkz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了训练集,测试集数量的确定相关的知识,希望对你有一定的参考价值。

import os
import random

g_root_path = "E:/DeepLearning/Faster-RCNN-TensorFlow-Python3.5-master/data/VOCdevkit2007/VOC2007/"
xmlfilepath = "E:\DeepLearning\Faster-RCNN-TensorFlow-Python3.5-master\data\VOCdevkit2007\VOC2007\Annotations" # 标注文件存放路径
saveBasePath = "E:/DeepLearning/Faster-RCNN-TensorFlow-Python3.5-master/data/VOCdevkit2007/VOC2007/ImageSets/Main/" # ImageSets信息生成路径
trainval_percent = 0.66
train_percent = 0.5

os.chdir(g_root_path)
total_xml = os.listdir(xmlfilepath)
num = len(total_xml)
xml_list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(xml_list, tv)
train = random.sample(trainval, tr)

print("train and val size", tv)
print("train size", tr)
ftrainval = open(saveBasePath + "trainval.txt", "w")
ftest = open(saveBasePath + "test.txt", "w")
ftrain = open(saveBasePath + "train.txt", "w")
fval = open(saveBasePath + "val.txt", "w")

for i in xml_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()

以上是关于训练集,测试集数量的确定的主要内容,如果未能解决你的问题,请参考以下文章

测试和训练数据集具有不同数量的特征

机器学习数据集划分-训练集,验证集,测试集

验证集与测试集有啥区别?为啥要分训练集、验证集和测试集?

如何使用交叉验证来确定使用训练、验证和测试集的最终模型

深度学习如何分配训练集验证集测试集比例

深度学习如何分配训练集验证集测试集比例