一、MNIST数据集
1.简介
MNIST数据集是一个手写体数据集,简单说就是一堆这样东西:
MNIST的官网地址是MNIST; 通过阅读官网可以知道,这个数据集由四部分组成,分别是:
也就是一个训练图片集,一个训练标签集,一个测试图片集,一个测试标签集;我们可以看出这个其实并不是普通的文本文件或是图片文件,而是一个压缩文件,下载并解压出来,我们看到的是二进制文件,其中训练图片集的内容部分如此:
2.特点
1)、数据集分为两部分:训练集和测试集
训练集:包含60000行的训练数据集
- List item Training set images: train-images-idx3-ubyte.gz (9.9 MB, 解压后 47 MB, 包含 60,000 个样本)
- Training set labels: train-labels-idx1-ubyte.gz (29 KB, 解压后 60 KB, 包含 60,000 个标签)
测试集:包含10000行的测试数据集
- Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含
10,000 个样本) - List item Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签)
2)、每张图片包含28x28个像素,将这一个数组展成一个向量,长度是28x28=784.因此在MNIST训练数据集mnist.train.images是一个形状为[60000,784]的张量,第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。图片中的某个像素的强度值介于0-1之间。
3)、MNIST数据集的标签是介于0-9的数字,需要把标签转化成"one-hot vector"。一个one-hot向量除了某一位数字是1以外,其余的维度数字都为0,比如标签0将表示为