Tensorflow入门教程之手写数字MINST识别
MNIST是在机器学习领域中的一个经典问题。该问题解决的是把28x28像素的灰度手写数字图片识别为相应的数字,其中数字的范围从0到9.
MNIST 数据下载
Yann LeCun's MNIST page也提供了训练集与测试集数据的下载。
文件 | 内容 |
---|---|
train-images-idx3-ubyte.gz | 训练集图片 - 55000 张 训练图片, 5000 张 验证图片 |
train-labels-idx1-ubyte.gz | 训练集图片对应的数字标签 |
t10k-images-idx3-ubyte.gz | 测试集图片 - 10000 张 图片 |
t10k-labels-idx1-ubyte.gz | 测试集图片对应的数字标签 |
在 input_data.py
文件中, maybe_download()
函数可以确保这些训练数据下载到本地文件夹中。
文件夹的名字在fully_connected_feed.py
文件的顶部由一个标记变量指定,你可以根据自己的需要进行修改。
底层的源码将会执行下载、解压、重构图片和标签数据来组成以下的数据集对象:
数据集 | 目的 |
---|---|
data_sets.train | 55000 组 图片和标签, 用于训练。 |
data_sets.validation | 5000 组 图片和标签, 用于迭代验证训练的准确性。 |
data_sets.test | 10000 组 图片和标签, 用于最终测试训练的准确性。 |
执行read_data_sets()
函数将会返回一个DataSet
实例,其中包含了以上三个数据集。函数DataSet.next_batch()
是用于获取以batch_size
为大小的一个元组,其中包含了一组图片和标签,该元组会被用于当前的TensorFlow运算会话中。
images_feed, labels_feed = data_set.next_batch(FLAGS.batch_size)