我们在做深度学习时,一般都是跑别人公开的数据集,如果想要跑自己的数据集怎么办?今天就记录一下我自己用的一种方法。

1、假设待分类一共有n类

2、新建一个文件夹,在该文件夹下新建n子个文件夹和n个对应的txt文件。将对应分类的图片放入到新建的分类文件夹中。假设           训练图片子文件夹名称分别为train_1到train_n,相对应的txt文件命名为train_1.txt到train_2.txt

3、使用如下命令:将每个子文件夹的内容(图像的名字)和标签写到txt文件中。

import os
DIRECTORY= "C:\\Users\\FT\\jupyter\\train_1"#这里是自己子文件夹的图片的位置,train_1到train_n
f = open('C:\\Users\\FT\\jupyter\\train_1.txt','w') #txt文件位置train_1到train_n
files=os.listdir(DIRECTORY)
for file in files:f.writelines(file+“ “+’num_class’)#num_class 是该类图像对应的分类一般用0-9f.write('\n')
f.close()

写入的过后的txt文件如下:

4、将所有的train_n.txt文件复制到一个总的txt文件命名为train.txt。这个txt文件包括了所有训练图片的名字和对应的标签.。并将        train_1到train_n文件夹中所有的图片复制到一个文件夹train中

5、使用下面的命令将该train.txt文件中图片对应名字的图片和标签取出来。

DIRECTORY= "C:\\Users\\FTM\\jupyter\\train"#这里是自己的所有图片的位置
f = open('C:\\Users\\FTM\\jupyter\\train.txt','r')#产生一个0-130的随机序列。130 是自己训练图片的总张数。用于将train.txt中的数据随机排序,训练时生成随机的batch
list=[]
for i in range(0,130):list.append(i)
random.shuffle(list)##########分开train.txt中的数据###############
num=[] #labels数据集
imgs=[]#data数据
line=f.readline()
while line:a = line.split()#将txt分成两列   data = a[0]   # 这是选取图像的名称,一般是xxx.jpg或其他图片格式imgs.append(data)  #将其添加在列表之中label = a[1]  # 这是选取图像的标签,一般是0-9的数字num.append(label)line = f.readline()
f.close()##############读取图片数据######################batch=[] #图像数据labels=[]  #标签for j in range(len(list)):  #随机取出train文件夹中的图像num_1=list[j]file_path=DIRECTORY+"\\"+imgs[num_1]  #图像的位置img=cv2.imread(file_path) #将图像的信息读出来img=cv2.resize(img,(32,32),interpolation=cv2.INTER_CUBIC) #将图像变为指定大小batch.append(img)#图像数据存入batch中labels.append(num[num_1])#标签数据存入到labels中

6、使用时使用如下数据变换操作:

1)、将batch中的图像数据分批。即设置batch_size大小

2)、将batch数据转为Tensor : batch_train=torch.Tensor(batch).permute(0,3,2,1)/255

3)、  将labels数据做如下变换:

label1=[int(x)for x in label] #因为前面txt中加的标签是一个str

label1=torch.Tensor(label1).type(torch.LongTensor)

4)、到这一步,数据就完全处理好了,可以送入神经网络训练了。

7、如果有什么待改进和其他方法,欢迎在下面留言。上面这个步骤经过我试过是可以使用的。

怎么制作自己的数据集相关推荐

  1. FCN制作自己的数据集、训练和测试 caffe

    原文:http://blog.csdn.net/zoro_lov3/article/details/74550735 FCN制作自己的数据集.训练和测试全流程 花了两三周的时间,在导师的催促下,把FC ...

  2. matlab遍历文件制作自己的数据集 .mat文件

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9115788.html 看到深度学习里面的教学动不动就是拿MNIST数据集,或者是IMGPACK ...

  3. 深度学习Caffe实战笔记(19)Windows平台 Faster-RCNN 制作自己的数据集

    万里长征第一步,就是要制作自己的数据集,过程还是比较繁琐的,特别是标注的过程,这篇博客先介绍如果制作voc2007自己的数据集用于faster-rcnn训练,下一篇博客介绍如何用faster-rcnn ...

  4. yolo v3制作自己的数据_【手把手AI项目】五、自己制作图像VOC数据集--Objection Detection(目标检测)...

    文章首发于我的个人博客 [手把手AI项目]五.自己制作图像VOC数据集--用于Objection Detection(目标检测)​blog.csdn.net 喜欢手机观看的朋友也可以在我的个人公号: ...

  5. SSD制作自己的数据集

    SSD制作自己的数据集 1.VOC2007数据集简介 2.制作自己的数据集 1.VOC2007数据集简介 想制作自己的数据集当然要先了解SSD使用的数据集VOC2007长啥样. (VOC2007完整下 ...

  6. 目标检测---以制作yolov5的数据集为例,利用labelimg制作自己的深度学习目标检测数据集(正确方法)

    以制作yolov5的数据集为例,利用labelimg制作自己的深度学习目标检测数据集的正确方法 文章目录 前言 一.labelimg简单介绍 1 VOC标签格式,保存为xml文件. 2 yolo标签格 ...

  7. 巧用PPOCRLabel制作DOC-VQA格式数据集

    1. 项目背景 最近涉及到多模态"OCR" + "DOC-VQA"相关内容,一直使用XFUND数据集,但实际项目中需要训练真实数据才能达到更好的效果,那么如何制 ...

  8. 自己制作crowd counting数据集

    Crowd counting的数据集包括两部分:图像部分和标签部分 标签部分主要包括每个人头的坐标点:(x, y): 常见的标签格式例如:ShanghaiTech数据集中的格式,用mat文件存储每个人 ...

  9. 遥感图像语义分割——从原始图像开始制作自己的数据集(以高分二号为例)

    遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 文章目录 遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 1.遥感影像获取 2.遥感数据预处理(影像融合) ...

  10. 如何制作自己的数据集

    如何制作自己的数据集   1. 本例数据只用了3类:摄像机,飞机,蝴蝶 2. 创建一个包含所有文件路径名的CSV文件,也就是一个文本文件txt 加入文件路径是:C:\Users\*****\Deskt ...

最新文章

  1. 一图带你入门Linux 存储I/O栈
  2. Hadoop Hive sql 语法详细解释
  3. 程序员如何快速消除自己的知识短板?
  4. .NET 产品组问卷调查|和我们分享你的 .NET 使用情况
  5. P3177-[HAOI2015]树上染色【树形dp】
  6. 编程题【System类】计算一千万个数添加到集合的时间
  7. 中科大基础数学博士招生放大招 年收入10万吸引生源
  8. python中的序列类型数据结构元素的切片_第四章 Python字符串以及(split,rsplit,replace,strip.....)...
  9. CNN进行新闻文本分类代码实战,包含分类文本
  10. linux的常用的软件,Linux常用的软件和命令
  11. 一个老者给年轻人的几个忠告
  12. spring security 使用 application/json 接收数据
  13. 爬取菜鸟教程Python100例
  14. C++ MFC人事管理系统
  15. 计算机固态硬盘序列号,固态硬盘检测工具ssdlife pro 2安装教程(附序列号)
  16. 在html用vue组件,html页面引入vue组件
  17. Linux LittlevGL 使用
  18. vue--后台管理系统问题和功能实现思路集锦
  19. 小米笔记本12.5英寸装ubuntu后设置快捷键开启和关闭触摸板
  20. 计算机视觉之利用颜色进行肤色检测(基于OpenCV自带库函数)

热门文章

  1. 《Nature-Inspired Metaheuristic Algorithms》——蝙蝠算法 Bat Algorithm
  2. 2021五一杯数学建模B题 消防救援问题
  3. 计算机中职课程表,计算机专业课程表
  4. 淘宝客公众号京东淘宝拼多多三合一源码三级代理系统网站源码
  5. lammps教程:推荐几个比较实用的lammps自带函数(2)
  6. mysql基础入门(参照b站黑马程序员整理)
  7. 阿里云服务器跟淘宝上租的服务器有什么区别?
  8. .net反编译工具Reflector下载
  9. 模拟集成电路设计基础知识(一):MOS管结构及其I/V特性
  10. 操作系统课程设计报告