Keras 在指定的历元数后提前停止KERA

Keras 在指定的历元数后提前停止KERA,keras,neural-network,training-data,early-stopping,Keras,Neural Network,Training Data,Early Stopping,在Keras中规定的历元数之后,是否可以应用提前停止。 例如,我想训练我的神经网络45个历元,然后开始使用EarlyStoping 到目前为止,我是这样做的: early\u stop=earlystoping(监视器class='val\u loss',模式class='min',冗余=1,基线=0.1,耐心=3) 但这样做,只会产生一些用于训练的步骤图 有没有办法让我把这些都写在一起?非常感谢任何帮助 我认为我们可以使用Keras库中的自定义回调来实现这一点。按如下方式定义自定义回调: #

在Keras中规定的历元数之后,是否可以应用提前停止。 例如,我想训练我的神经网络45个历元,然后开始使用EarlyStoping

到目前为止,我是这样做的:

early\u stop=earlystoping(监视器class='val\u loss',模式class='min',冗余=1,基线=0.1,耐心=3)

但这样做,只会产生一些用于训练的步骤图


有没有办法让我把这些都写在一起?非常感谢任何帮助

我认为我们可以使用Keras库中的自定义回调来实现这一点。按如下方式定义自定义回调:

# Custom Callback
class myCallback(keras.callbacks.Callback):
  def on_epoch_end(self, epoch, logs={}):
    if epoch == 45:
      self.model.stop_training = True
callback = myCallback()

opt = Adam(lr = .00001, beta_1=0.9, beta_2=0.999, epsilon=1e-8)
model.compile(optimizer=opt, loss='categorical_crossentropy', metrics = ['accuracy'])
# Include myCallback in callbacks so that the model stops training after 45th epoch
mod = model.fit_generator(train_batches, steps_per_epoch = 66, validation_data = valid_batches, validation_steps = 22, epochs = 50, callbacks = [early_stop, myCallback], verbose = 1)

回答你的问题了吗?不,我想在第45个纪元后申请提前停车,而不是在那个时候停车
# Custom Callback
class myCallback(keras.callbacks.Callback):
  def on_epoch_end(self, epoch, logs={}):
    if epoch == 45:
      self.model.stop_training = True
callback = myCallback()

opt = Adam(lr = .00001, beta_1=0.9, beta_2=0.999, epsilon=1e-8)
model.compile(optimizer=opt, loss='categorical_crossentropy', metrics = ['accuracy'])
# Include myCallback in callbacks so that the model stops training after 45th epoch
mod = model.fit_generator(train_batches, steps_per_epoch = 66, validation_data = valid_batches, validation_steps = 22, epochs = 50, callbacks = [early_stop, myCallback], verbose = 1)