mnist手写数字集相当于是TensorFlow应用中的Helloworld。
在学习了TensorFlow的卷积神经网络应用之后,今天就分步解析一下其应用过程
一、mnist手写数字数据集
MNIST是深度学习的经典入门demo,他是由6万张训练图片和1万张测试图片构成的,每张图片都是28*28大小(如下图),而且都是黑白色构成(这里的黑色是一个0-1的浮点数,黑色越深表示数值越靠近1),这些图片是采集的不同的人手写从0到9的数字。TensorFlow将这个数据集和相关操作封装到了库中。
我们可以访问官方网站进行数据下载,当然也可以通过TensorFlow进行调用:
注意下载的时候要将4个红色的包全部下载好。
二、我们要构建一个什么样的卷积神经网络
上面的这张图,就是我们将要构建的卷积神经网络,我们的构建步骤是:
- 输入28*28*1的数据集
- 第一个红色方块,代表第1层卷积,下面是它的相关参数,形状变为[28, 28, 32];
- 第一个绿色方块,代表第1层池化,或者是亚采样,下方是它的相关参数,形状变为[14, 14, 32];
- 第二个红色方块,代表第2层卷积,下面是它的相关参数,形状变为[14, 14, 64];
- 第二个绿色方块,代表第2层池化,或者是亚采样,下方是它的相关参数,形状变为[7, 7, 64];
- 进行平坦化,形成1024神经元的全连接层,形状为[1, 1, 1024];
- 丢弃50%,即使rate=0.5;
- 形成10个神经元的全连接层,输出形状[1, 1, 10]
这就是我们构建的一个简单的卷积神经网络。