1.MNIST数据集
MNIST(Mixed National Institute of Standards and Technology database)是一个计算机视觉数据集,它包含70000张手写数字的灰度图片,其中每一张图片包含 28 X 28 个像素点。可以用一个数字数组来表示这张图片:
每一张图片都有对应的标签,也就是图片对应的数字,例如上面这张图片的标签就是 1
数据集被分成两部分:60000 行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。
其中:60000 行的训练集分拆为 55000 行的训练集和 5000 行的验证集。
60000行的训练数据集是一个形状为 [60000, 784] 的张量,第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。在此张量里的每一个元素,都表示某张图片里的某个像素的强度值,值介于 0 和 1 之间。
60000 行的训练数据集标签是介于 0 到 9 的数字,用来描述给定图片里表示的数字。称为 "one-hot vectors"。 一个 one-hot 向量除了某一位的数字是 1 以外其余各维度数字都是 0。所以在此教程中,数字 n 将表示成一个只有在第 n 维度(从 0 开始)数字为 1 的 10 维向量。比如,标签 0 将表示成 ( [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] )。因此,其标签是一个 **[60000, 10] **的数字矩阵。
Tensorflow里面可以用如下代码导入MNIST数据集:
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets ( "/tmp/data/", one_hot=True )
成功获取MNIST数据集后,发现本地已经下载了4个压缩文件:
#训练集的压缩文件, 9912422 bytes
Extracting MNIST_data / train-images-idx3-ubyte.gz
#训练集标签的压缩文件,28881 bytes
Extracting MNIST_data / train-labels-idx1-ubyte.gz
#测试集的压缩文件,1648877 bytes
Extracting MNIST_data / t10k-images-idx3-ubyte.gz
#测试集的压缩文件,4542 bytes
Extracting MNIST_data / t10k-labels-idx1-ubyte.gz
———————