首页 文章

在keras中保存最佳模型

提问于
浏览
1

我在keras中训练模型时使用以下代码

from keras.callbacks import EarlyStopping

model = Sequential()
model.add(Dense(100, activation='relu', input_shape = input_shape))
model.add(Dense(1))

model_2.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])


model.fit(X, y, epochs=15, validation_split=0.4, callbacks=[early_stopping_monitor], verbose=False)

model.predict(X_test)

但是最近我想得到保存最好的训练模型,因为我训练的数据在“高val_loss vs epochs”图中给出了很多高峰,我想从模型中使用最好的一个 .

是否有任何方法或功能可以帮助解决这个问题?

2 回答

  • 4

    EarlyStoppingModelCheckpoint是Keras文档中您需要的 .

    您应该在ModelCheckpoint中设置 save_best_only=True . 如果需要任何其他调整,则是微不足道的 .

    只是为了帮助你更多,你可以看到一个用法here .

  • 0

    我猜 model_2.compile 是一个错字 . 如果你想将最好的模型w.r.t保存到val_losses,这应该会有所帮助 -

    checkpoint = ModelCheckpoint('model-{epoch:03d}.h5', verbose=1, monitor='val_loss',save_best_only=true, mode='auto')  
    
    model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
    
    model.fit(X, y, epochs=15, validation_split=0.4, callbacks=[checkpoint], verbose=False)
    

相关问题