辅助阅读:TensorFlow中文社区教程 - 英文官方教程
代码见:full_connect.py
上面这些变量都是一种Tensor的概念,它们是一个个的计算单元,我们在Graph中设置了这些计算单元,规定了它们的组合方式,就好像把一个个门电路串起来那样
Session用来执行Graph里规定的计算,就好像给一个个门电路通上电,我们在Session里,给计算单元冲上数据,That’s Flow.
with tf.Session(graph=graph) as session:
tf.initialize_all_variables().run()
for step in range(num_steps):
_, l, predictions = session.run([optimizer, loss, train_prediction])
这样训练的准确度为83.2%
准确率提高到86.5%,而且准确率随训练次数增加而提高的速度变快了
在前面实现的RELU连接的两层神经网络中,加Regularization进行约束,采用加l2 norm的方法,进行调节:
代码实现上,只需要对tf_sgd_relu_nn中train_loss做修改即可:
在训练数据很少的时候,会出现训练结果准确率高,但测试结果准确率低的情况
采取Dropout方式强迫神经网络学习更多知识
参考aymericdamien/TensorFlow-Examples中dropout的使用
随着训练次数增加,自动调整步长
增加神经网络层数,增加训练次数到20000
stddev = np.sqrt(2.0 / n)
觉得我的文章对您有帮助的话,给个star可好?