2016-09-02 8 views
0

注:これはduplicate questionですが、私は答えを探していません。むしろ、自分自身で答えを見つけ出すほうがいい。Keras:検証損失を記録する方法

エポックをまたいでモデルから損失、トレーニングの精度、テストの損失とテストの精度を記録するにはどうすればよいですか?私は、各エポックに対する検証損失を示すグラフをプロットしたいと思います。

fit()、またはおそらくmodel.historyで呼び出すことができるcallbackオブジェクトが何かを持っていることは知っていますが、ソースとドキュメントストリングを調べることはちょっとしたコードです。例えば、Numpyは、非常に単純な実装の例として、通常、非常に小さなユースケースを提供します。しかし、これは実際には入力の問題であるため、これに対する答えは単なるライナーであることはわかっています。

答えて

4

https://keras.io/models/sequential/#fitに詳しく記載されているように、model.fitを呼び出すと、callbacks.Historyオブジェクトが返されます。

... 
train_history = model.fit(X_train, Y_train, 
        batch_size=batch_size, nb_epoch=nb_epoch, 
        verbose=1, validation_data=(X_test, Y_test)) 
loss = train_history.history['loss'] 
val_loss = train_history.history['val_loss'] 
plt.plot(loss) 
plt.plot(val_loss) 
plt.legend(['loss', 'val_loss']) 
plt.show() 
+0

[docs](https://keras.io/models/sequence/#fit)と[FAQ](https://)に記載されています。 keras.io/getting-started/faq/#how-can-i-record-the-training-validation-loss-accuracy-at-each-epoch) – sietschie

+0

@sietschieあなたは正しいです、これは文書の中にあります。 –

+0

しかし、「リアルタイム」プロットを実行する方法についてのヒントはなく、公正であるためには、あらかじめ定義された数のエポックで停止することは、多くの人が望むものではないか、 – norok2

関連する問題