现在我在 Keras 中使用这样的提前停止:
X,y= load_data('train_data')
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=12)
datagen = ImageDataGenerator(
horizontal_flip=True,
vertical_flip=True)
early_stopping_callback = EarlyStopping(monitor='val_loss', patience=epochs_to_wait_for_improve)
history = model.fit_generator(datagen.flow(X_train, y_train, batch_size=batch_size),
steps_per_epoch=len(X_train) / batch_size, validation_data=(X_test, y_test),
epochs=n_epochs, callbacks=[early_stopping_callback])
但在 model.fit_generator
结束时,它会在 epochs_to_wait_for_improve
之后保存模型,但我想用 min val_loss
保存模型有道理吗?
最佳答案
是的,可以再回调一次,代码如下:
early_stopping_callback = EarlyStopping(monitor='val_loss', patience=epochs_to_wait_for_improve)
checkpoint_callback = ModelCheckpoint(model_name+'.h5', monitor='val_loss', verbose=1, save_best_only=True, mode='min')
history = model.fit_generator(datagen.flow(X_train, y_train, batch_size=batch_size),
steps_per_epoch=len(X_train) / batch_size, validation_data=(X_test, y_test),
epochs=n_epochs, callbacks=[early_stopping_callback, checkpoint_callback])
关于python - Keras:提前停止模型保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44051402/