1
我正在嘗試訓練模型。我正在使用基本上保存最佳模型的檢查點的回調(驗證中損失函數最小)。我遇到的問題是有時候這個最小值是在第一個時代,驗證看起來有點不穩定。一旦模型穩定或在一定數量的時代之後,是否有辦法使用檢查點?在keras中保存穩定的模型(深度學習)
這裏我的訓練和驗證曲線的畫面:
我正在嘗試訓練模型。我正在使用基本上保存最佳模型的檢查點的回調(驗證中損失函數最小)。我遇到的問題是有時候這個最小值是在第一個時代,驗證看起來有點不穩定。一旦模型穩定或在一定數量的時代之後,是否有辦法使用檢查點?在keras中保存穩定的模型(深度學習)
這裏我的訓練和驗證曲線的畫面:
您可以使用自定義的回調,其中,你可以有你的條件邏輯語句。如果滿足條件,可以從這裏調用ModelCheckpoint代碼https://github.com/fchollet/keras/blob/master/keras/callbacks.py#L316。
如果我的話沒有意義,這段代碼將會!
謝謝。
class ModifiedCheckpoint(keras.callbacks.Callback):
def __init__(...):
<copy code>
return
def on_train_begin(self, logs={}):
return
def on_train_end(self, logs={}):
return
def on_epoch_begin(self, epoch, logs={}):
return
def on_epoch_end(self, epoch, logs={}):
<insert your logic here>
<and copy code here>
return
def on_batch_begin(self, batch, logs={}):
return
def on_batch_end(self, batch, logs={}):
return
解決方法是使用modelcheckpoint回調https://keras.io/callbacks/#modelcheckpoint中的參數週期。例如,您可以將您的期限設置爲5以避免這一點。 – maz