我用本机和后端tensorflow创建了完全相同的网络,但是在使用大量不同参数进行了许多小时的测试之后,我仍然无法理解为什么keras的性能优于native tensorflow,并且产生了更好(稍微好一点但更好)的结果。在
Keras是否实现了不同的权重初始化方法?或者执行不同的重量衰减方法,而不是反时限衰变?在
注:分数差总是
Keras with Tensorflow: ~0.9850 - 0.9885 - ~45 sec. avg. training time for 1 epoch
Tensorflow Native ~0.9780 - 0.9830 - ~23 sec.
我的环境是:
Python 3.5.2 -Anaconda / Windows 10
CUDA: 8.0 with cuDNN 5.1
Keras 1.2.1
Tensorflow 0.12.1
Nvidia Geforce GTX 860M
而且keras.json文件文件:
^{pr2}$您还可以复制并执行以下两个文件
https://github.com/emrahyigit/deep/blob/master/keras_cnn_mnist.py
https://github.com/emrahyigit/deep/blob/master/tf_cnn_mnist.py
https://github.com/emrahyigit/deep/blob/master/mnist.py
问题是由于错误地使用了丢失层的keep-prob参数,因为我应该在列车和测试过程中为这个参数输入不同的值。在
相关问题 更多 >
编程相关推荐