文件用途

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文件的生成相关推荐

  1. 超级简单的VOC2007数据集制作——使用自制的VOC2007数据集制作工具

    使用自制VOC2007数据集制作工具 数据集制作工具下载链接 本人win10 64位系统 操作没有问题(其他系统没有试过),在有的机子测试会出现应用程序无法正常启动0xc0000007b,请从以下几个 ...

  2. VOC2007数据集制作

    相信看这篇文章的人都在做深度学习吧,此数据集是为目标检测做的数据集,有错误处请海涵 代码见我的github上:https://github.com/EddyGao/make_VOC2007 第一步:首 ...

  3. PASCAL VOC数据集训练集、验证集、测试集的划分和提取,得到test.txt、train.txt、trainval.txt、val.txt文件代码

    训练集.验证集.测试集按比例精确划分 创建py文件,将下属代码放入所创建的文件里,VOC2007数据集与py文件在同一目录下 # 数据集划分 import os import randomroot_d ...

  4. PASCAL VOC2012类型的数据集生成train.txt\val.txt等文件

    PASCAL VOC 2012 图像分割经常要用的到这个数据集,我是自己做的数据集,但也仿照了PASCAL VOC2012的格式,在数据中,需要把所有图片放在一个文件夹中,mask放在另一个文件夹中, ...

  5. 制作VOC格式数据集的train.txt、val.txt文件

    一.前言 在以前的文章中已经聊过 VOC数据集的组织结构 和 VOC格式数据集转yolo(darknet)格式. 当我们按照组织结构将自己的图片和xml标注文件放在指定文件夹下之后,在转换时我们还需要 ...

  6. caffe:制作自己的数据集train.txt和val.txt,生成lmdb文件

    一.准备图片 在caffe/路径下:新建一个文件夹images caffe/images/data/路径下存放着自己的图片数据集: 分为train和val,里面放着所有的图片 二.生成标签文件.txt ...

  7. 【YOLOv5 数据集划分】训练和验证、训练验证和测试(train、val)(train、val、test)

    [YOLOv5 数据集划分]训练和验证.训练验证和测试(train.val),(train.val.test) ①在已有测试集的情况下划分训练集和验证集 # 将图片和标注数据按比例切分为 训练集和测试 ...

  8. 【深度学习】制作VOC2007数据集用于Faster-RCNN训练

    制作VOC2007数据集用于Faster-RCNN训练:VOC2007格式是faster-RCNN中官方给出的用于训练的数据集,把它下载下来用frcnn/tool里的训练程序跑一跑就可以得到自己的训练 ...

  9. Ubuntu 16.04下Caffe-SSD的应用(八)——处理标注好的VOC2007数据集

    前言 前面已经演示了如何把图像文件标注成VOC2007数据集,标注完成之后,就要把数据转换成caffe支持的数据格式lmdb. 处理数据 1.在caffe_ssd/data/下新建一个叫VOCdevk ...

最新文章

  1. 【二级java】 二分法查找
  2. python读写csv确定编码格式_Python使用utf8编码读写csv文件
  3. 用cxf开发restful风格的WebService
  4. 每日一皮:据说这是很多公司的办事流程
  5. 【转】DontDestroyOnLoad(Unity3D开发之五)
  6. Composer update 问题: Could not authenticate against github.com
  7. android tablayout 字体颜色,Tablayout变颜色 以及Fragment进行切换
  8. 类内的函数共享给对象使用
  9. JPA 2.1实体图–第1部分:命名实体图
  10. linux内核percpu变量声明,Linux kernel percpu变量解析
  11. .Net Core 商城微服务项目系列(一):使用IdentityServer4构建基础登录验证
  12. atitit.提升开发效率---MDA 软件开发方式的革命(5)----列表查询建模
  13. python 遗传算法书籍推荐_遗传算法(1) - Python实现
  14. ngix 全局配置文件和子配置文件 配置项中文注释
  15. u盘中毒文件为html文档,U盘中毒后文件夹被隐藏的恢复方法
  16. [EXtJS5学习笔记]第一节 Sencha Cmd 学习笔记 简介 Sencha Cmd是什么
  17. Android性能优化—— 黑白屏启动优化
  18. 离散数学 用c++实现离散数学逻辑推理
  19. .NET Interop 互操作 COM+
  20. 大数据 就业 缺口_大数据就业前景广阔,大数据人才紧缺,岗位缺口大

热门文章

  1. 金融魔方创始人兼CEO刘嘉:金融SaaS为中小企业赋能的机遇与挑战
  2. Geek的卸载存在小小缺憾
  3. java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......
  4. Cortex-M4和Cortex-M7中的SIMD指令
  5. 【大学物理实验】用霍尔传感器测通电螺线管的磁场分布
  6. C# MQTT(MQTTnet)客户端
  7. 区块链电子合同铸就数字经济信任基石
  8. windows PHP 5 版本的下载
  9. [转]详细说明等额本金和等额本息的计算方式与利弊
  10. OpenCV计算均值和方差