- Сохраняет вес
- Да
- Для сохранения весов в лучшую эпоху используйте кусок кода, который я дал ниже
- Нет
Что на самом деле keras model.save () предназначен для сохранения весов после завершения 100 эпох?Да, это так, но посмотрите на следующий код для сохранения весов только лучших эпох.
Используйте этот фрагмент кода для:
- Сохранение весов только для лучших эпох
- Обновление весов после каждой эпохи только при улучшении заданных критериев (val_loss min)
- Кроме того, история после каждой эпохи будет сохраняться в файле .csv.
Код
import pandas as pd
from keras.callbacks import EarlyStopping, ModelCheckpoint
#Stop when val_loss is not decreasing
earlyStopping = EarlyStopping(monitor='val_loss', patience=10, verbose=0, mode='min')
#Save the model after every epoch.
checkpointer = ModelCheckpoint(filepath='Model_1_weights.h5', verbose=1, save_best_only=True)
#history variable will save training progress after each epoch
history = model.fit(X_train, y_train, batch_size=20, epochs=40, validation_data=(X_valid, y_valid), shuffle=True, callbacks=[checkpointer, earlyStopping])
#Save progress of each epoch in .csv file
hist_df = pd.DataFrame(history.history)
hist_csv_file = 'History_Model_1.csv'
with open(hist_csv_file, mode='w') as f:
hist_df.to_csv(f)
Ссылка: https://keras.io/callbacks/#ModelCheckpoint