小编tnf*_*tnf的帖子

如何检测Keras提前停止发生的时期?

我正在用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)
Run Code Online (Sandbox Code Playgroud)

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

val_loss   = seqModel.history['val_loss']
xc         = range(num_epochs)
plt.figure()
plt.plot(xc, val_loss)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我正在尝试绘制num-epochs(xc)的范围,但EarlyStopping结束时间要早得多,所以形状有误。

如何解决EarlyStopping在什么时候结束了解决不匹配的问题?

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

python neural-network keras tensorflow

5
推荐指数
1
解决办法
1345
查看次数

标签 统计

keras ×1

neural-network ×1

python ×1

tensorflow ×1