PASCAL VOC2012类型的数据集生成train.txt\val.txt等文件
PASCAL VOC 2012
图像分割经常要用的到这个数据集,我是自己做的数据集,但也仿照了PASCAL VOC2012的格式,在数据中,需要把所有图片放在一个文件夹中,mask放在另一个文件夹中,然后train.txt等文件里面有很多文件名,决定了哪些图片用于train,哪些用于val。
要生成的txt
train.txt
val.txt
test.txt
trainval.txt(这个是train和val放在一起的)
分的思路是从全部文件中,先分出trainval,然后再从trainval中,分出val,这样train、val、test就都有了。
代码
import os
import random# 设置图片路径和txt存放的路径
file_path = r'/home/rtx2080ti/SISnet/pytorch-deeplab-xception-master/1part_dataset/JPEGImages'
saveBasePath = r'/home/rtx2080ti/SISnet/pytorch-deeplab-xception-master/1part_dataset/ImageSets/Segmentation/'# 设置数据集比例,其中trainval是指train+val
train_percent = 0.6
val_percent = 0.2
test_percent = 0.2 # 其实这个数字就用不到# 求出数据总的数目
total_image = os.listdir(file_path) # 将文件名存为一个列表,这时是包含拓展名的
num = len(total_image) # 总的文件数
list = range(num)# 求出各部分的数目
train_number = int(num * train_percent)
val_number = int(num * val_percent)
test_number = int(num * test_percent) # 这个数字也用不到其实
trainval_number = int(train_number + val_number)# 各部分的样本
trainval = random.sample(list, trainval_number) # 从总的数据集中,先挑train+val,再从train+val中,挑出train
train = random.sample(trainval, train_number)
print(trainval)
print(train)# 确认数据集各部分的数目
print("train加val的数目", trainval_number)
print("train的数目", train_number)# 建立每部分的txt
ftrainval = open(os.path.join(saveBasePath, 'trainval.txt'), 'w')
ftest = open(os.path.join(saveBasePath, 'test.txt'), 'w')
ftrain = open(os.path.join(saveBasePath, 'train.txt'), 'w')
fval = open(os.path.join(saveBasePath, 'val.txt'), 'w')# 进行写文件名
for i in list:name = total_image[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)# 关闭txt文件
ftrainval.close()
ftrain.close()
fval.close()
ftest.close()
PASCAL VOC2012类型的数据集生成train.txt\val.txt等文件相关推荐
- PASCAL VOC数据集 生成train.txt、test.txt、tainval.txt、val.txt
Python3代码: import os import random xmlfilepath=r'/home/huadian/darknet/scripts/VOCdevkit/VOC2007/Ann ...
- VOC数据集将XML转为对应的train.txt,trainval.txt,val.txt,test.txt
在我自己的实验中,/home/xiaobumi/SSD-Tensorflow-master/VOC2007/Annotations/下为所有图片对应的xml文件(包含训练和检测),通过下方代码可以成功 ...
- 自制VOC2007数据集——train、trainval、val、test文件的生成
文件用途 VOC2007/ImageSets/Main文件夹里面存放 test.txt train.txt trainval.txt val.txt四个文件. train.txt 是用来训练的图片文件 ...
- 为sketch数据集生成txt文本,并自定义Dataset
线稿上色的数据集: dataset link:https://pan.baidu.com/s/1Abm7V6J2uNOy5U6nvsRSlg key:eepv txt文件生成 import os im ...
- LRS2 train.txt、val.txt和test.txt这三个文件是数据集文件列表
您想要将LRS2文件列表(包括训练.验证.测试)放入filelists文件夹中.请按照以下步骤操作: 确保您已经下载了LRS2数据集,这通常包括训练.验证和测试数据. 在LRS2数据集的根目录下,创建 ...
- 【tensorflow 训练验证数据处理】制制作trian和val TXT的文件
开始训练模型之前,需要对收集的图片进行处理.那么第一步 就是制作trian和val TXT的文件. 训练和测试的图片数据集 分别放在 train 和val 两个文件夹下. 数据集,共有五类图片,分别是 ...
- caffe:制作自己的数据集train.txt和val.txt,生成lmdb文件
一.准备图片 在caffe/路径下:新建一个文件夹images caffe/images/data/路径下存放着自己的图片数据集: 分为train和val,里面放着所有的图片 二.生成标签文件.txt ...
- 【深度学习】数据集打标签:生成train.txt和val.txt
当我们在Github上下载一篇论文的代码后,我们如何在自己的数据集上进行复现呢? 准备自己的数据集 这是在百度爬的十分类的服装数据集,其中train文件夹下每类大概300张,val文件夹下每类大概10 ...
- PASCAL VOC数据集训练集、验证集、测试集的划分和提取,得到test.txt、train.txt、trainval.txt、val.txt文件代码
训练集.验证集.测试集按比例精确划分 创建py文件,将下属代码放入所创建的文件里,VOC2007数据集与py文件在同一目录下 # 数据集划分 import os import randomroot_d ...
最新文章
- python 搭建系统监控
- c++ 冒泡排序_学习笔记-详解冒泡排序
- u盘修复linux系统,360u盘修复工具官方版u盘pe安装linux系统
- oracle-SQL-case when 改用 DECODE
- hdu 1257 最少拦截系统 (DP)
- 支付宝上线新功能:去这个国家入境十分钟搞定!
- C++ 内存的分配方式
- Tableau零基础教程
- 网站后台操作手册(模板)
- 桌面版微信打开链接,H5页面一片空白
- Java SimpleDateFormat 中英文时间格式化转换
- 局域网服务器配置一个无线路由,局域网怎么增加无线路由器
- 删除win10 qaa输入法
- 2019年安徽大学ACM/ICPC实验室新生赛(公开赛)
- java代码实现身份证第18位的计算和验证身份证号码是否是真实有效.
- 计算机专业排名211大学排名,计算机专业大学排名,计算机专业强的211!
- 相对论通俗演义(1-10) 第十章
- matlab卷积和互相关,互相关与卷积
- VBA 自定义函数语法
- 使用CSS使div块内容垂直居中的方法