gpt4 book ai didi

python - 如何检测 Keras EarlyStopping 发生的纪元?

转载 作者:行者123 更新时间:2023-12-02 17:40:39 26 4
gpt4 key购买 nike

我正在使用 Keras 训练神经网络。我将 num_epochs 设置为一个较高的数字,并让 EarlyStopping 终止训练。

model = Sequential()
model.add(Dense(1, input_shape=(nFeatures,), activation='linear'))
model.compile(optimizer='rmsprop', loss='mse', metrics=['mse', 'mae'])

early_stopping_monitor = EarlyStopping(monitor='val_loss', patience=15, verbose=1, mode='auto')

checkpointer = ModelCheckpoint(filepath = fname_saveWeights, verbose=1, save_best_only=True)

seqModel = model.fit(X_train, y_train, batch_size=4, epochs=num_epochs, validation_data=(X_test, y_test), shuffle=True, callbacks=[early_stopping_monitor, checkpointer], verbose=2)

这很好用。但是,我随后尝试绘制损失函数:

val_loss   = seqModel.history['val_loss']
xc = range(num_epochs)
plt.figure()
plt.plot(xc, val_loss)
plt.show()

我正在尝试绘制 num-epochs (xc) 的范围,但 EarlyStopping 结束得更早,因此形状出现错误。

如何检测 EarlyStopping 在哪个纪元结束以解决不匹配问题?

详细设置将结束纪元打印到屏幕上,但我无法确定如何访问要在图中使用的值。

最佳答案

它被设置( code )作为回调内的字段:

early_stopping_monitor.stopped_epoch

将为您提供训练后停止的纪元,如果没有提前停止,则为 0。

关于python - 如何检测 Keras EarlyStopping 发生的纪元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50874596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com