Keras 当val_acc达到一定百分比时,如何使用提前停止停止训练

Keras 当val_acc达到一定百分比时,如何使用提前停止停止训练,keras,Keras,当训练达到一定的百分比,比如说98%时,我想停止训练。我尝试了很多方法,在谷歌上搜索,但都没有成功。我所做的是像这样使用earlystoping: es = EarlyStopping(monitor='val_acc', baseline=0.98, verbose=1) model.fit(tr_X, tr_y, epochs=1000, batch_size=1000, validation_data=(ts_X, ts_y), verbose=1, callbacks=[es]) _,

当训练达到一定的百分比,比如说98%时,我想停止训练。我尝试了很多方法,在谷歌上搜索,但都没有成功。我所做的是像这样使用
earlystoping

es = EarlyStopping(monitor='val_acc', baseline=0.98, verbose=1)
model.fit(tr_X, tr_y, epochs=1000, batch_size=1000, validation_data=(ts_X, ts_y), verbose=1, callbacks=[es])

_, train_acc = model.evaluate(tr_X, tr_y, verbose=0)
_, test_acc = model.evaluate(ts_X, ts_y, verbose=0)
print('>> Train: %.3f, Test: %.3f' % (train_acc, test_acc))
这是不对的。如果有人能提出实现这一目标的方法,我将不胜感激


谢谢,

您可以创建这样的新回调:

class EarlyStoppingValAcc(回调):
def _uinit _;(self,monitor='val_acc',value=0.98,verbose=1):
超级(回调,自我)。\uuuu初始化
self.monitor=监视器
自我价值=价值
self.verbose=verbose
_epoch_end上的def(self、epoch、logs={}):
当前=logs.get(self.monitor)
如果当前为无:
warnings.warn(“提前停止需要%s可用!”%self.monitor,RuntimeWarning)
如果当前>自身值:
如果self.verbose>0:
打印(“Epoch%05d:提前停止THR”%Epoch)
self.model.stop\u training=True
然后像这样使用它:

回调=[
EarlyStoppingByValAcc(监视器='val_acc',值=0.98,详细值=1),
]
model.fit(tr_X,tr_y,epochs=1000,batch_size=1000,validation_data=(ts_X,ts_y),verbose=1,callbacks=callbacks)

非常感谢。纯溶液