[英]Keras model not saving correctly
我正在Keras上訓練神經網絡,但是當有新數據出現並嘗試對其進行重新訓練時,時代上的損失與我第一次訓練模型時一樣高。
checkpoint = ModelCheckpoint('my_model.h5', monitor='loss', verbose=1, save_best_only=True, mode='min')
callbacks_list = [checkpoint]
model.fit(X_train,y_train, batch_size = batch_size, epochs = epochs, callback = callbacks_list)
new_model = load_model('my_model.h5')
如此處建議Keras:如何保存模型並繼續訓練? 我試圖在model
和new_model
預測相同的數據,並使用以下方法測量差異:
assert_allclose(model.predict(x_train),
new_model.predict(x_train),
1e-5)
實際上,我得到了斷言錯誤,甚至在tol = 1e-2
也發生了錯誤,因此讓我認為我的模型沒有按預期加載。 任何人都知道為什么會這樣嗎?
ModelCheckpoint
節省了在訓練中損失較少的模型重量。
您的model
已保存了最后一個時期的權重。
如果模型的最后一個時期不是損失較小的時期,則保存的模型的權重( new_model
)與原始模型的權重不匹配,並且預測也不相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.