【问题标题】:Keras: early stopping model savingKeras:提前停止模型保存
【发布时间】:2017-10-18 11:35:58
【问题描述】:

现在我在 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 之后保存模型,但我想用最小val_loss 保存模型,这有意义吗?有可能吗?

【问题讨论】:

标签: python neural-network keras


【解决方案1】:

是的,可以再做一个回调,代码如下:

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])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 2019-01-26
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多