2017-01-21 12 views
4

ネイティブとバックエンドのテンソルフローを使用して正確に同じネットワークを作成しましたが、数多くの異なるパラメータを使用して数時間のテストを行ったが、ケラスがネイティブテンソルフローよりも優れているしかしよりよい結果)。ネイティブTFとケラスTFパフォーマンスの比較

ケラスは異なるウェイト初期化メソッドを実装していますか?またはtf.train.inverse_time_decay以外の異なる減量アプローチを実行するか?

p.s.

のPython 3.5.2 -Anaconda/Windowsの10
CUDA:8.0 Tensorflow 0.12
Keras 1.2.1
cuDNN 5.1との得点差は、私の環境である

Keras with Tensorflow: ~0.9850 - 0.9885 - ~45 sec. avg. training time for 1 epoch 
Tensorflow Native ~0.9780 - 0.9830 - ~23 sec. 

のように常にあります.1
Nvidia Geforce GTX 860M

およびkeras.jsonファイル:

{ 
    "image_dim_ordering": "tf", 
    "epsilon": 1e-07, 
    "floatx": "float32", 
    "backend": "tensorflow" 
} 

と私が与えたはずとして、あなたはまた、問題がドロップアウト層のkeep_probパラメータの誤った使用によるものであった二つのファイル

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 

答えて

3

次コピーして実行することができますこのパラメータは列車とテストプロセスで異なる値を持つ。

+0

時間はケラスの場合45秒、TFの場合は23秒でしたか?それはかなり大きな違いです。 –

+0

こんにちは、5秒あります。今の違い。ネイティブTFはより高速です。 – emrahyigit

関連する問題