首先我们需要知道池化层的作用,上一篇博客有说明,可以点击这里查看。
import tensorflow as tf
import numpy as np
import random
from tensorflow.examples.tutorials.mnist import input_data # 将input_data用来读取图片
# 1.数据装载
minst = input_data.read_data_sets('minst_data/', one_hot=True)
# 两个参数,第一个是minst文件夹的路径,第二个参数是one-hot,它是布尔类型,对于一个数组来说,这个数组定义为one-hot,那么这个数组中的元素,有一个元素为1的话,那么其他元素全为0
# 接下来就是搭建神经网络,要明确我们的输入,第一是图片的输入,第二要完成标签的输入
imageInput = tf.placeholder(tf.float32, [None, 784]) # 28*28的,所以是784,第一个维度是输入的图片的个数
labelInput = tf.placeholder(tf.float32, [None, 10]) # 第一个是图片的个数,第二个参数是0-9,所以是10
# 对当前的维度进行重新调整
imageInputReshape = tf.reshape(imageInput, [-1, 28, 28, 1]) # 数据维度的调整 data reshape 由[None,784]-->M*28*28*1 即2维转换成4维
# 完成维度的调整,将一个n行乘以一个784维的调整成一个m行乘以28行乘以28列一个通道的数据,所以将一个两维的数据转化成一个4维的数据
# 28*28表示图片的宽高信息,后谜案的1代表的是颜色通道,这里是灰度图,所以这里的channel是1,m是这样经过这样经过转换之后的剩余的这些元素共同构成的这样的一个m
# 数据准备完之