4

ネイティブ テンソルフローとバックエンド テンソルフローを使用してまったく同じネットワークを作成しましたが、多数の異なるパラメーターを使用して何時間もテストした後でも、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 with 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"
}

また、次の2つのファイルをコピーして実行することもできます

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
4

1 に答える 1