我使用本地和后端张量流创建了完全相同的网络,但是在使用多个不同参数进行了多个小时的测试后,仍然无法弄清为什么keras优于本地张量流并产生更好(略有改善)的结果。
Keras是否实现不同的权重初始化方法?或执行除tf.train.inverse_time_decay以外的其他权重衰减方法?
ps的分数差总是像
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与cuDNN 5.1 Keras
1.2.1
Tensorflow 0.12.1
Nvidia Geforce GTX 860M
和keras.json文件:
{ "image_dim_ordering": "tf", "epsilon": 1e-07, "floatx": "float32", "backend": "tensorflow" }
您还可以复制并执行以下两个文件
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
emrahyigit.. 5
问题是由于错误使用了dropout层的keep_prob参数,因为我应该在训练和测试过程中给此参数提供不同的值。
问题是由于错误使用了dropout层的keep_prob参数,因为我应该在训练和测试过程中给此参数提供不同的值。