深度学习框架keras使用—(3)MNIST数据集介绍

MNIST数据集

MNIST数据集是一个手写体数据集,如图:

官网:Yann LeCun's website

 http://yann.lecun.com/exdb/mnist/ , 下载下来的数据集被分成两部分:60000行的训练数据集(其中:60000 行的训练集分拆为 55000 行的训练集和 5000 行的验证集)和10000行的测试数据集。

其中,

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 个标签)
Test set images: t10k-images-idx3-ubyte.gz (1.6 MB, 解压后 7.8 MB, 包含 10,000 个样本)
Test set labels: t10k-labels-idx1-ubyte.gz (5KB, 解压后 10 KB, 包含 10,000 个标签)

每一张图片包含28*28个像素,在MNIST训练数据集中是一个形状为 [60000, 28, 28] 的张量。 我们首先需要把数据集转成 [60000, 784],然后才能放到网络中训练。 第一个维度数字用来索引图片,第二个维度数字用来索引每张图片中的像素点。

一般我们还需要把图片中的数据归一化为0-1之间,如图

扫描二维码关注公众号,回复: 5039320 查看本文章

 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] 的数字矩阵。

总结:

1、MNIST数据集包含 55000 行训练集、5000 行验证集和10000 行测试集

2、每一张图片展开成一个 28 X 28 = 784 维的向量,展开的顺序可以随意的,只要保证每张图片的展开顺序一致即可

3、每一张图片的标签被初始化成 一个 10 维的“one-hot”向量

猜你喜欢

转载自blog.csdn.net/zfjBIT/article/details/85837658
今日推荐