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等文件相关推荐

  1. PASCAL VOC数据集 生成train.txt、test.txt、tainval.txt、val.txt

    Python3代码: import os import random xmlfilepath=r'/home/huadian/darknet/scripts/VOCdevkit/VOC2007/Ann ...

  2. VOC数据集将XML转为对应的train.txt,trainval.txt,val.txt,test.txt

    在我自己的实验中,/home/xiaobumi/SSD-Tensorflow-master/VOC2007/Annotations/下为所有图片对应的xml文件(包含训练和检测),通过下方代码可以成功 ...

  3. 自制VOC2007数据集——train、trainval、val、test文件的生成

    文件用途 VOC2007/ImageSets/Main文件夹里面存放 test.txt train.txt trainval.txt val.txt四个文件. train.txt 是用来训练的图片文件 ...

  4. 为sketch数据集生成txt文本,并自定义Dataset

    线稿上色的数据集: dataset link:https://pan.baidu.com/s/1Abm7V6J2uNOy5U6nvsRSlg key:eepv txt文件生成 import os im ...

  5. LRS2 train.txt、val.txt和test.txt这三个文件是数据集文件列表

    您想要将LRS2文件列表(包括训练.验证.测试)放入filelists文件夹中.请按照以下步骤操作: 确保您已经下载了LRS2数据集,这通常包括训练.验证和测试数据. 在LRS2数据集的根目录下,创建 ...

  6. 【tensorflow 训练验证数据处理】制制作trian和val TXT的文件

    开始训练模型之前,需要对收集的图片进行处理.那么第一步 就是制作trian和val TXT的文件. 训练和测试的图片数据集 分别放在 train 和val 两个文件夹下. 数据集,共有五类图片,分别是 ...

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

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

  8. 【深度学习】数据集打标签:生成train.txt和val.txt

    当我们在Github上下载一篇论文的代码后,我们如何在自己的数据集上进行复现呢? 准备自己的数据集 这是在百度爬的十分类的服装数据集,其中train文件夹下每类大概300张,val文件夹下每类大概10 ...

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

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

最新文章

  1. python 搭建系统监控
  2. c++ 冒泡排序_学习笔记-详解冒泡排序
  3. u盘修复linux系统,360u盘修复工具官方版u盘pe安装linux系统
  4. oracle-SQL-case when 改用 DECODE
  5. hdu 1257 最少拦截系统 (DP)
  6. 支付宝上线新功能:去这个国家入境十分钟搞定!
  7. C++ 内存的分配方式
  8. Tableau零基础教程
  9. 网站后台操作手册(模板)
  10. 桌面版微信打开链接,H5页面一片空白
  11. Java SimpleDateFormat 中英文时间格式化转换
  12. 局域网服务器配置一个无线路由,局域网怎么增加无线路由器
  13. 删除win10 qaa输入法
  14. 2019年安徽大学ACM/ICPC实验室新生赛(公开赛)
  15. java代码实现身份证第18位的计算和验证身份证号码是否是真实有效.
  16. 计算机专业排名211大学排名,计算机专业大学排名,计算机专业强的211!
  17. 相对论通俗演义(1-10) 第十章
  18. matlab卷积和互相关,互相关与卷积
  19. VBA 自定义函数语法
  20. 使用CSS使div块内容垂直居中的方法

热门文章

  1. 前端自动生成Change Log的实现
  2. QT——移植官方MQTT库
  3. Franka Emika Panda机械臂规划路径时,rviz中手爪显示碰撞
  4. Python毕业设计必备案例:【学生信息管理系统】
  5. 非线性规划----经济调度(Python实现)
  6. 城 市 名 经 度 纬 度
  7. python线程间通信
  8. 基于C++的AGV机器人无线控制实现
  9. 2023年Java学习路线图(适合自学详细版)
  10. 七大视频剪辑软件,达人必备,你用过几个?