上一章我们用到交叉熵代价函数来优化我们的模型,但是最后的准确率也只有92%,这一节我们会实现一个多层的神经网络其中会用的后面一节的知识。新手的话耐心点看看,会有不少收获偶。
那我们就直接上代码了:
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data",one_hot=True)
老规矩先导入我们的MNIST数据集
#每个批次的大小
batch_size = 100
#计算一共有多少个批次
n_batch = mnist.train.num_examples // batch_size
定义每一个批次训练数据集的大小为100(就是每次向神经网络输入100张图片)和批次数目
#定义两个placeholder
x = tf.placeholder(tf.float32,[None,784])
y = tf.placeholder(tf.float32,[None,10])
keep_prob=tf.placeholder(tf.float32)
定义我们的图片及标签的容器placeholder ,这里的keep_prob就是指的消除神经网络过拟合的Dropout参数,具体的原理后面会讲到。