【TensorFlow】官方MNIST数据集神经网络实例详解(六)
根据MNIST数据实现完整的TensorFlow程序
构图逻辑是:先定义参数、接着定义神经网络模型,最后训练。
参数的定义:整个程序初始设置参数主要有初始学习率、学习衰减率、隐藏层节点数量、迭代轮数、输入层的节点数、输出层的节点数、BACTH_SIZE 、REGULARIZATION_RATE 、训练次数、滑动平均衰减等参数。
神经网络模型:模型包括输入的数据、滑动平均参数、计算隐藏层的权重和偏置、计算输出层的权重和偏置。计算隐藏层的权重和偏置时,激活函数ReLU的使用,输出层计算时不用使用。
训练过程:
1、定义占位符tf.placeholder()生成的变量x,y_,方便后续数据的调用;
2、生成隐藏层和输出层的参数weights,biases;
3、计算前向传播的结果y,average_y;
4、定义交叉熵并计算平均交叉熵损失
5、计算L2正则化损失函数
6、总损失等于交叉熵损失和正则化损失的和
7、设置衰减的学习率
8、使用优化函数优化损失
9、定义反向传播优化更新参数的过程
10、检验模型正确率过程
11、初始化会话进行训练,并初始化所有变量
12、生成训练和测试数据集
13、迭代循环神经网络,注意的是:每次去batch数据。
14、评价模型的性能。

浙公网安备 33010602011771号