目的:我要做实验!替换数据集实验!

需求:将代码中数据集替换成自己的数据集!

系统:windows也行,linux也行,有一些区别,可以私信,我绝不会说简单!其他人的一句简单,我TM做了半天。

我讲的顺序是:

  1. 如何制作固定尺寸大小的图片,如28*28,32*32
  2. 如何制作txt,txt中包含图片名称+空格+类别
  3. 如何制作类似mnist、cifar数据集

 

首先,你需要一堆图片,这是基础

如何制作数据集,包括类似mnist和cifar10和cifar100的数据集(真实有效)Pytorch

这些图片大小和名称随意。

 

1、如何制作固定尺寸大小的图片数据集(截图不易,我比较懒,就用语言描述)

       文件夹叫reshape_png,作用就是重新构建图片的大小!文件中有两个空的文件夹(一级),test-images和train-images,这两个文件夹(一级)是用来存放数据的!重点讲一下如何存放数据,别的博客大都没讲,太不负责了!我讲!以train-images为例,你需要在下面放n个文件夹(二级),n代表的是你所想要将图片分类的类数,这个文件夹(二级)的名你随意取,没有关系,然后每个文件夹(二级)下放置对应的图片!图片名称随意,建议,尽量别取一样!后面你会理解。哦对了,

如何制作数据集,包括类似mnist和cifar10和cifar100的数据集(真实有效)Pytorch

       接下来,文件夹中有一个文件叫resize-script.sh,他的作用是将任意大小的图片变成32*32,你可以自行修改,修改就是重新打开sh文件,然后将32*32改成你想要的尺寸即可,运行方式:在linux系统下,打开命令端,输入sh resize-script.sh即可运行,你会发现所有图片的位置和名称都没有变,只有大小变了!这个重新构建图片大小就讲完了!

2、如何制作txt,txt中包含图片名称+空格+类别

处理完上述一步,我们要给数据建立txt文件了。

不同数据集不同的格式是最麻烦的,这个你自行领悟。

在creat_txt_dataset文件夹中有main.py文件,还有4个空文件夹:training-images、test-images、train、test文件,首先我们可以将刚才我们固定尺寸的数据集的文件(二级文件夹,就是上面那张含0,1,2,3,4的图),直接拷到training-images、test-images俩文件夹下,或者你直接将training-images、test-images俩文件拷过来一样。打开终端,运行main.py即可,我是python3的环境。然后你就会发现生成了两个名叫train.txt和test.txt的记事本。你打开看看,就会发现里面是文件名+空格+类标,这个类标和你的文件名(二级)没有半毛钱关系。对了,那个train和test文件的用处见3,如何制作数据集!

你非要看图?就是这样!

如何制作数据集,包括类似mnist和cifar10和cifar100的数据集(真实有效)Pytorch

好了,现在你也生成了这样的txt文件,这一节就讲完了。

哦,之间插播一个方法,如何快速重命名文件名称,尤其是大规模数据!

这个直接用file_rename文件,里面有一个main.py函数,直接运行它即可,对了运行前你要改一下里面的文件路径,还有你想要图片名称,算法默认输出文件名称为:1_1.png、1_2.png、1_3.png、1_4.png、1_5.png

3如何制作类似mnist、cifar数据集

这个最麻烦了,因为这两数据集不一样!我的建议,你好好学习torchvision中的ImageFolder方法,上Pytorch手册上学

首先介绍mnist,你要知道最后生成四个文件就可以了

在creat_dataset_mnist这个文件夹下有一个main.py,你把上面那个training-images、test-images文件复制过来运行一下,就可以出来,注意,这里是单通道,即只能是黑白图,为啥呢,因为mnist是黑白的,你想要彩色的咋办呢?改代码,第33行道第35行,你加一个for循环里面带有color,如何加,我给忘了,估计想不起来了,因为这个数据集没用到。

我竟然想起来了!!!

在那个33行前面加上:for color in range(0,3),然后在35行的append()里面修改成(pixel[y,x][color])即可实现彩色图像转化

下面重点介绍cifar数据集如何制作。

我所看到的cifar数据集,在pytorch中保存的格式是二进制,具题里面有哪些参数,什么fine_labels、images等等,这些我一概不讲,因为篇幅问题!

制作这个啊,需要用到2中的train和test文件,这个文件里面有啥呢?需要就是图片和txt文件。

但是怎么保存呢?训练图片在train文件中随便放,顺序随意,但是里面的txt文件就有讲究了,txt文件中第一列要放图片的名称,第二列要放对应的类别,你看一下2中的图,对就是那样!怎么做你看2!

打开creat_dataset_cifar,之后你需要运行demo.py即可!哦,对了,这里面你要修改data里面的文件,我怕你下载过慢,把里面的大部分图片都删了,生成的文件在bin中,生成以后你修改一下名称!就是train和test二进制文件!那个meta文件我没用所以没有做!我也不会做!没研究过!

最近有点事情,需要相关文件的私聊!

已经上传到了博客文件,github那个太麻烦以后有时间再上传哈~

哦,博客你搜索:make_dataset.rar,就可以出来

相关文章: