2016-04-26 9 views
2

私はKerasを使って時系列を予測しています。私は標準で20エポックを使用しています。 自分のニューラルネットワークが20エポックのそれぞれについて何を予測するのか知りたいです。Python/Keras - 各エポック予測にアクセスするにはどうすればいいですか?

model.predictを使用することによって、すべてのエポックのうち1つの予測しか得られません(Kerasが選択する方法はわかりません)。私はすべての予測、または少なくとも10ベストを欲しい。

誰でも私を助ける方法を知っていますか?

答えて

5

私はここに少し混乱があると思います。

エポックはニューラルネットワークのトレーニング中にのみ使用されるため、トレーニングが停止すると(この場合は20エポック後)、最後のエポックで計算されたものに対応します。

ケラスは、各エポック後のトレーニング中に検証セット上の電流損失値を表示します。各エポック後の重みが保存されないと、それらは失われます。 ModelCheckpointコールバックを使用して、各エポックの重みを保存し、モデルにload_weightsをロードして戻すことができます。

あなたはCallbackをサブクラス化し、 on_epoch_end関数の内部モデルに予測呼び出すことによって、適切なコールバックを実装することにより、各トレーニングエポックの後、あなたの予測を計算することができます。

これを使用するには、コールバックをインスタンス化してリストを作成し、model.fitのキーワード引数コールバックとして使用します。

+0

Hello Matias!あなたがこの1つを見ることができれば、それは高く評価されるでしょう:http://stackoverflow.com/questions/36895627/python-keras-creating-a-callback-with-one-prediction-for-each-epoch – abutremutante