2017-12-29 39 views
0

私は信号分類(2つのクラス:患者とコントロール)にCNNを使用しています。 早期停止を使用する妥当性検査のエラーが改善されなくなるまでトレーニングを停止したい私はこれを実装するために、Pythonコードを書くことができません。 私はこれを試しましたが、それ以上は進めませんでした。CNNトレーニング早期終了

validation = cross_entropy.eval(feed_dict= {x:valid_x,y_:valid_y,keep_prob:1}) 
validation = np.append(validation,cross_entropy.eval(feed_dict= {x:valid_x,y_:valid_y,keep_prob:1})) 

コードを教えてもらえますか?

答えて

1

あなたはkeras.EarlyStoppingを使用することができます。

from keras.callbacks import EarlyStopping 
early_stopping = EarlyStopping(monitor='val_loss', patience=2) 
model.fit(x, y, validation_split=0.2, callbacks=[early_stopping]) 

理想的には、val_loss増加していないがval_accが停滞したとき時に訓練を停止することは良いです。 val_accが改善されたらKearsはモデルを保存するので、必要なときにのみ実行して停止することをお勧めします。

+0

ありがとうGanesh!私はmodel.fitへの入力を与える方法を理解していません。 train_x、train label、train_y、検証データ:valid_x、検証ラベル:valid_y。私はKeras model.fitで以下のように実装しましたが、エラーが発生しました。バックエンドでテンソルフローを使用しています。私を助けてください。 model_info = model.fit(train_x、train_y、validation_data =(valid_x、valid_y)、コールバック= [early_stopping]) NameError:名前 'model'が定義されていません –

+0

与えられた信号はタイムベースですが、私は専門家ではありませんLSTMでRNNのようなものを感じる方がいいでしょう。こちらをご覧ください:https://philipperemy.github.io/keras-stateful-lstm/それでもCNNが必要な場合は、この例を見て、同じことをしたかどうかを確認してください:https://github.com/keunwoochoi/kapre/blob/master/examples/example_codes.ipynb –

関連する問題