【发布时间】:2017-03-02 14:00:16
【问题描述】:
我正在学习教程“Deep MNIST for Experts”,https://www.tensorflow.org/versions/r0.11/tutorials/mnist/pros/index.html#deep-mnist-for-experts
使用卷积神经网络,我得到了 93.49% 的准确率。这实际上很低,我正在努力改进它,但我有疑问。根据教程,
for i in range(20000):
batch = mnist.train.next_batch(50)
if i%100 == 0:
train_accuracy = accuracy.eval(feed_dict={x:batch[0], y_: batch[1], keep_prob: 1.0})
print("step %d, training accuracy %g"%(i, train_accuracy))
train_step.run(feed_dict={x: batch[0], y_: batch[1], keep_prob: 0.5})
每 100 次迭代后记录一次训练的准确度,看到准确度,它会不断波动,就像增加然后减少一样。
step 100, training accuracy 0.1
step 200, training accuracy 0.13
step 300, training accuracy 0.12
step 400, training accuracy 0.08
step 500, training accuracy 0.12
step 600, training accuracy 0.05
step 700, training accuracy 0.09
step 800, training accuracy 0.1
step 900, training accuracy 0.12
step 1000, training accuracy 0.09
step 1100, training accuracy 0.11
step 1200, training accuracy 0.09
step 1300, training accuracy 0.11
step 1400, training accuracy 0.06
step 1500, training accuracy 0.09
step 1600, training accuracy 0.14
step 1700, training accuracy 0.07
step 1800, training accuracy 0.08
......
step 19800, training accuracy 0.14
step 19900, training accuracy 0.07
有什么理由吗?还是正常?那为什么会这样?另外,我可以改变什么样的变量来提高最终的准确性?我已经尝试过更改学习率变量。
【问题讨论】:
标签: python tensorflow mnist