自制VOC2007数据集——train、trainval、val、test文件的生成
文件用途
VOC2007/ImageSets/Main文件夹里面存放 test.txt train.txt trainval.txt val.txt四个文件。
train.txt 是用来训练的图片文件的文件名列表 (训练集)
val.txt是用来验证的图片文件的文件名列表 (验证集)
trianval.txt是用来训练和验证的图片文件的文件名列表
test.txt 是用来测试的图片文件的文件名列表 (测试集)
train是网络模型在训练的时候用的,而val是网络模型在训练过程中测试用的。val是不影响训练的。在训练的时候可以得到train和val这两个数据集的误差率,利用这个误差率可以绘制出学习曲线,通过观察学习曲线,可以发现一些网络模型的问题,然后再根据这些问题去调整网络参数。test就是网络模型训练完毕测试用的。
生成文件
对于自制VOC2007数据集中所有的图片以及xml文件,需要划分比例,划分为训练集train、测试集test、以及验证集val,按照一定比例划分,我采用的比例为train:val:test=6:2:2 (我看网上有好几种比例,比如说还有8:1:1和2:1:1,小白我不知道哪种比较常用,也不知道这些比例的选择有什么依据,如果有大佬愿意教一下我的话欢迎留言)
生成上面四个文件的代码如下:
import os
import randomtrainval_percent = 0.8
train_percent = 0.75
xmlfilepath = 'Annotations'
txtsavepath = 'ImageSets\Main'
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('ImageSets/Main/trainval.txt', 'w')
ftest = open('ImageSets/Main/test.txt', 'w')
ftrain = open('ImageSets/Main/train.txt', 'w')
fval = open('ImageSets/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数据集——train、trainval、val、test文件的生成相关推荐
- 超级简单的VOC2007数据集制作——使用自制的VOC2007数据集制作工具
使用自制VOC2007数据集制作工具 数据集制作工具下载链接 本人win10 64位系统 操作没有问题(其他系统没有试过),在有的机子测试会出现应用程序无法正常启动0xc0000007b,请从以下几个 ...
- VOC2007数据集制作
相信看这篇文章的人都在做深度学习吧,此数据集是为目标检测做的数据集,有错误处请海涵 代码见我的github上:https://github.com/EddyGao/make_VOC2007 第一步:首 ...
- PASCAL VOC数据集训练集、验证集、测试集的划分和提取,得到test.txt、train.txt、trainval.txt、val.txt文件代码
训练集.验证集.测试集按比例精确划分 创建py文件,将下属代码放入所创建的文件里,VOC2007数据集与py文件在同一目录下 # 数据集划分 import os import randomroot_d ...
- PASCAL VOC2012类型的数据集生成train.txt\val.txt等文件
PASCAL VOC 2012 图像分割经常要用的到这个数据集,我是自己做的数据集,但也仿照了PASCAL VOC2012的格式,在数据中,需要把所有图片放在一个文件夹中,mask放在另一个文件夹中, ...
- 制作VOC格式数据集的train.txt、val.txt文件
一.前言 在以前的文章中已经聊过 VOC数据集的组织结构 和 VOC格式数据集转yolo(darknet)格式. 当我们按照组织结构将自己的图片和xml标注文件放在指定文件夹下之后,在转换时我们还需要 ...
- caffe:制作自己的数据集train.txt和val.txt,生成lmdb文件
一.准备图片 在caffe/路径下:新建一个文件夹images caffe/images/data/路径下存放着自己的图片数据集: 分为train和val,里面放着所有的图片 二.生成标签文件.txt ...
- 【YOLOv5 数据集划分】训练和验证、训练验证和测试(train、val)(train、val、test)
[YOLOv5 数据集划分]训练和验证.训练验证和测试(train.val),(train.val.test) ①在已有测试集的情况下划分训练集和验证集 # 将图片和标注数据按比例切分为 训练集和测试 ...
- 【深度学习】制作VOC2007数据集用于Faster-RCNN训练
制作VOC2007数据集用于Faster-RCNN训练:VOC2007格式是faster-RCNN中官方给出的用于训练的数据集,把它下载下来用frcnn/tool里的训练程序跑一跑就可以得到自己的训练 ...
- Ubuntu 16.04下Caffe-SSD的应用(八)——处理标注好的VOC2007数据集
前言 前面已经演示了如何把图像文件标注成VOC2007数据集,标注完成之后,就要把数据转换成caffe支持的数据格式lmdb. 处理数据 1.在caffe_ssd/data/下新建一个叫VOCdevk ...
最新文章
- 【二级java】 二分法查找
- python读写csv确定编码格式_Python使用utf8编码读写csv文件
- 用cxf开发restful风格的WebService
- 每日一皮:据说这是很多公司的办事流程
- 【转】DontDestroyOnLoad(Unity3D开发之五)
- Composer update 问题: Could not authenticate against github.com
- android tablayout 字体颜色,Tablayout变颜色 以及Fragment进行切换
- 类内的函数共享给对象使用
- JPA 2.1实体图–第1部分:命名实体图
- linux内核percpu变量声明,Linux kernel percpu变量解析
- .Net Core 商城微服务项目系列(一):使用IdentityServer4构建基础登录验证
- atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
- python 遗传算法书籍推荐_遗传算法(1) - Python实现
- ngix 全局配置文件和子配置文件 配置项中文注释
- u盘中毒文件为html文档,U盘中毒后文件夹被隐藏的恢复方法
- [EXtJS5学习笔记]第一节 Sencha Cmd 学习笔记 简介 Sencha Cmd是什么
- Android性能优化—— 黑白屏启动优化
- 离散数学 用c++实现离散数学逻辑推理
- .NET Interop 互操作 COM+
- 大数据 就业 缺口_大数据就业前景广阔,大数据人才紧缺,岗位缺口大
热门文章
- 金融魔方创始人兼CEO刘嘉:金融SaaS为中小企业赋能的机遇与挑战
- Geek的卸载存在小小缺憾
- java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......
- Cortex-M4和Cortex-M7中的SIMD指令
- 【大学物理实验】用霍尔传感器测通电螺线管的磁场分布
- C# MQTT(MQTTnet)客户端
- 区块链电子合同铸就数字经济信任基石
- windows PHP 5 版本的下载
- [转]详细说明等额本金和等额本息的计算方式与利弊
- OpenCV计算均值和方差