MNIST 数据集输出手写数字识别准确率——介绍
1. mnist 数据集
- mnist 数据集:包含 7 万张黑底白字手写数字图片,其中 55000 张为训练集,5000 张为验证集,10000 张为测试集。每张图片大小为 28*28 像素,图片中纯黑色像素值为 0,纯白色像素值为 1。数据集的标签是长度为 10 的一维数组,数组中每个元素索引号表示对应数字出现的概率
- 在将 mnist 数据集作为输入喂入神经网络时,需先将数据集中每张图片变为长度
784 一维数组,将该数组作为神经网络输入特征喂入神经网络。 - 例如:
一张数字手写体图片变成长度为 784 的一维数组[0.0.0.0.0.231 0.235 0.459 ……0.219 0.0.0.0.]输入神经网络。该图片对应的标签为[0.0.0.0.0.0.1.0.0.0],标签中索引号为 6 的元素为 1,表示是数字 6 出现的概率为 100%,则该图片对应的识别结果是 6
- 在将 mnist 数据集作为输入喂入神经网络时,需先将数据集中每张图片变为长度
2. 需要使用到的函数
2.1 read_data_sets():加载 mnist 数据集
- 使用 input_data 模块中的 read_data_sets()函数加载mnist 数据集:
- read_data_sets()函数中有两个参数
- 第一个参数表示数据集存放路径
- 第二个参数表示数据集的存取形式。当第二个参数为 Ture 时,表示以独热码形式存取数据集。
- read_data_sets()函数运行时,会检查指定路径内是否已经有数据集,若指定路径中没有数据集,则自动下载,并将 mnist 数据集分为训练集 train、验证集 validation 和测试集 test 存放。
- read_data_sets()函数中有两个参数
from tensorflow.examplee.tutorials.mnist import inpu_data
mnist = input_data.read_data_sets('./data/', one_hot = True)
2.2 mnist.train/validation/test.mun_examples:返回样本数
在 Tensorflow 中用以下函数返回mnist 数据集中训练集 train、验证集 validation 和测试集 test 样本数:
- 返回训练集 train 样本数
print ('train data size:', mnist.train.mun_examples)
- 返回验证集 validation 样本数
print ('validation data size:',mnist.validation.mun_examples)
- 返回测试集 test 样本数
print ('test data size:'mnist.test.mun_examples)
2.3 返回 mnist 数据集标签
- 使用 train.labels 函数返回 mnist 数据集标签
- 例如:在 mnist 数据集中,若想要查看训练集中第 0 张图片的标签,则使用如下函数:
mnist.train.labels[0]
#输出结果:array([0.,0.,0.,0.,0.,0.,1.,0.,0.,0])
2.4 train.images[]:返回 mnist 数据集图片像素值
例如:在 mnist 数据集中,若想要查看训练集中第 0 张图片像素值,则使用如下函数:
mnist.train.images[0]
#输出结果:array([0. ,0. ,0. ,0. ,0. ,0. ,0. ,0. ,0. ,… … …]