放置在方法内部时,早期顶起(keras)不起作用

放置在方法内部时,早期顶起(keras)不起作用,keras,scope,early-stopping,Keras,Scope,Early Stopping,当放置在方法中时,早期停止不起作用。 运行时,提前停止不起作用: def model_training(): # model, train_images, val_images, train_labels, val_images DEFINED HERE train_it = ImageDataGenerator().flow(train_images, y=train_labels, batch_size=32) val_it = ImageDataGener

当放置在方法中时,早期停止不起作用。

运行时,提前停止不起作用:

def model_training():

    # model, train_images, val_images, train_labels, val_images DEFINED HERE


    train_it =  ImageDataGenerator().flow(train_images, y=train_labels, batch_size=32)
    val_it =  ImageDataGenerator().flow(val_images, y=val_labels, batch_size=32)

    mc = ModelCheckpoint('model_name.h5', monitor='val_acc', save_best_only=True)

    es = EarlyStopping(monitor='val_loss',patience=1)

    history = model.fit_generator(train_it, steps_per_epoch=len(train_it),
                                  validation_data=val_it, validation_steps=len(val_it), 
                                  epochs=50, callbacks=[es, mc])

    _, acc = model.evaluate_generator(val_it, steps=len(val_it), verbose=1)


model_training()
# model, train_images, val_images, train_labels, val_images DEFINED HERE

train_it =  ImageDataGenerator().flow(train_images, y=train_labels, batch_size=32)
val_it =  ImageDataGenerator().flow(val_images, y=val_labels, batch_size=32)

mc = ModelCheckpoint('model_name.h5', monitor='val_acc', save_best_only=True)

es = EarlyStopping(monitor='val_loss',patience=1)

history = model.fit_generator(train_it, steps_per_epoch=len(train_it),
                              validation_data=val_it, validation_steps=len(val_it), 
                              epochs=50, callbacks=[es, mc])

_, acc = model.evaluate_generator(val_it, steps=len(val_it), verbose=1)
运行时,提前停止工作:

def model_training():

    # model, train_images, val_images, train_labels, val_images DEFINED HERE


    train_it =  ImageDataGenerator().flow(train_images, y=train_labels, batch_size=32)
    val_it =  ImageDataGenerator().flow(val_images, y=val_labels, batch_size=32)

    mc = ModelCheckpoint('model_name.h5', monitor='val_acc', save_best_only=True)

    es = EarlyStopping(monitor='val_loss',patience=1)

    history = model.fit_generator(train_it, steps_per_epoch=len(train_it),
                                  validation_data=val_it, validation_steps=len(val_it), 
                                  epochs=50, callbacks=[es, mc])

    _, acc = model.evaluate_generator(val_it, steps=len(val_it), verbose=1)


model_training()
# model, train_images, val_images, train_labels, val_images DEFINED HERE

train_it =  ImageDataGenerator().flow(train_images, y=train_labels, batch_size=32)
val_it =  ImageDataGenerator().flow(val_images, y=val_labels, batch_size=32)

mc = ModelCheckpoint('model_name.h5', monitor='val_acc', save_best_only=True)

es = EarlyStopping(monitor='val_loss',patience=1)

history = model.fit_generator(train_it, steps_per_epoch=len(train_it),
                              validation_data=val_it, validation_steps=len(val_it), 
                              epochs=50, callbacks=[es, mc])

_, acc = model.evaluate_generator(val_it, steps=len(val_it), verbose=1)
知道为什么吗?


更新:
早期停止仅在耐心=1时工作
patience=1

输出是什么?错误还是什么都没有?@Eliethesaiyan什么都没有。它还在继续。