深度学习入门--MNIST数据集及创建自己的手写数字数据集

         刚刚接触到人工智能的我们,必定会遇到一个非常非常非常熟悉的朋友------MNIST
         这是一套流行的手写数字图片,常常被用来测试我们的思想和算法。这个数据集称为手写数字的MNIST数据库,从研究员Yann LeCun 的网站,可以得到这个数据集。

本文并不再介绍MNIST具体是什么,旨在分享记住MNIST的获取方式

Ps:其实我已经帮大家整理好了,大家可以直接点击这这这下载

一、直接网站下载

http://yann.lecun.com/exdb/mnist/

下载并解压完成后,可以看到该数据包含了四个部分:深度学习入门--MNIST数据集及创建自己的手写数字数据集_第1张图片

它包含了四个部分:

  1. train-images-idx3-ubyte.gz 
  2. train-labels-idx1-ubyte.gz
  3. t10k-images-idx3-ubyte.gz 
  4. t10k-labels-idx1-ubyte.gz 

其中1和2代表的是训练集的60,000 个image和60,000 个label,3和4(样本均为10,000个)则用来测试。

对于小白来说,可能还没有学会如何加载已下载好的数据集,手懒的可以用第二种方法哟! 

二、代码直接下载

     当需要该数据集进行训练时,当然还可以用代码直接下载

torchvision.datasets中自带MNIST

import torchvision
from torchvision import transforms

transform = transforms.Compose([transforms.ToTensor(),  transforms.Normalize(0.5, 0.5)  ])
train_ds = torchvision.datasets.MNIST('data', 
                                     train=True,  
                                     transform=transform,
                                     download=True)

dataloader = torch.utils.data.DataLoader(train_ds, batch_size=64, shuffle=True)

这种下载方式的缺陷是受网络影响大,容易出现下载失败的情况。

!!!个人亲测,一旦下载卡住,多重复运行几次 

或利用tensorflow

from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('data', one_hot=True)

三、MNIST的CSV格式

    在训练神经网络识别数字的实例中,大家可以先利用mnist_train_100和mnist_test_10实验,之后再利用完成的数据集进行训练和测试。【分享的资源里面有哦】

深度学习入门--MNIST数据集及创建自己的手写数字数据集_第2张图片

 训练好模型后,大家可以创建自己的mnist手写数据集,然后进行test。

四、创建专属你的手写数字

1.不必使用Photoshop,使用免费开源的GIMP当然也可以。那有没有更简单的方法?答案是肯定的,只需要一部手机一张纸一支笔!!!

2.自己在白纸上手写数字,打开手机扫描软件进行扫描,将手写数字变成图片格式。

3.将扫描好的图片上传到电脑,打开画图,点击重新设置大小,按照像素大小设置成28*28,并另存为png格式。

深度学习入门--MNIST数据集及创建自己的手写数字数据集_第3张图片深度学习入门--MNIST数据集及创建自己的手写数字数据集_第4张图片

4.唯一对图片的要求就是正方形(长度=宽度),并且保存为PNG格式。我们需要创建较小的PNG图片,将他们调整到28*28个像素,因为这样才能用来测试  用MNIST训练过的模型。

效果如下:

深度学习入门--MNIST数据集及创建自己的手写数字数据集_第5张图片

你可能感兴趣的:(机器学习,深度学习,生成对抗网络,pytorch,tensorflow)