Hi!请登陆

TensorFlow: MNIST手写数字识别之数据集

2020-11-17 47 11/17

1、编程环境

python3.6.6+TensorFlow1.12.0

2、数据集

TensorFlow的封装让使用MNIST数据集变得更加方便。MNIST数据集是NIST数据集的一个子集,它包含了60000张图片作为训练数据,10000张图片作为测试数据。在MNIST数据集中的每一张图片都代表了0~9中的一个数字。图片大小为28x28。像素矩阵如下图:

它在计算机中的存储其实是一个二维矩阵,每个元素都是0~1之间的数字,0代表白色,1代表黑色,小数代表灰色图像的深浅。

数据集下载地址:

TensorFlow提供了一个类来处理MNIST数据。这个类会自动下载并转化MNIST数据格式,将数据从原始的数据包中解析成训练和测试神经网络时使用的格式。

代码如下:

fromtensorflow.examples.tutorials.mnist

import

input_data

mnist =

input_data.read_data_sets("dataset",one_hot=True)

MNIST数据集划分为train、validation和test三个数据集,其中train这个集合内有55000张图片,validation集合内有5000张图片,test集合内有10000张图片。处理后的每一张图片是一个长度28x28=784的一维数组。因为神经网络的输入是一个特征向量,所以在此把一张二维图像的像素矩阵放到了一个一维数组中可以方便TensorFlow将图片的像素矩阵提供给神经网络的输入层。为了方便使用随机梯度下降mnist对象下的train对象,提供了next_batch函数,它可以从所有的训练数据中读取一小部分作为一个训练batch。

代码如下:

xs,ys =

mnist.train.next_batch(50)

参考:实战google深度学习框架

相关推荐