Mon modèle arrête d'entraîner après la 4ème époque même si je m'attends à ce qu'il continue à s'entraîner au-delà. J'ai mis le moniteur à la perte de la validation et la patience à 2, ce qui, je pense, signifie que l'entraînement s'arrête après la perte de validation augmente consécutivement pour 2 époques. Cependant, l'entraînement semble s'arrêter avant que cela n'arrive.Callback EarlyStopping se comporte mystérieusement dans Keras
J'ai défini EarlyStopping comme suit:
callbacks = [
EarlyStopping(monitor='val_loss', patience=2, verbose=0),
]
Et dans la fonction en forme que je l'utilise comme ceci:
hist = model.fit_generator(
generator(imgIds, batch_size=batch_size, is_train=True),
validation_data=generator(imgIds, batch_size=batch_size, is_val=True),
validation_steps=steps_per_val,
steps_per_epoch=steps_per_epoch,
epochs=epoch_count,
verbose=verbose_level,
callbacks=callbacks)
Je ne comprends pas pourquoi la formation se termine après la 4ème époque.
675/675 [==============================] - 1149s - loss: 0.1513 - val_loss: 0.0860
Epoch 2/30
675/675 [==============================] - 1138s - loss: 0.0991 - val_loss: 0.1096
Epoch 3/30
675/675 [==============================] - 1143s - loss: 0.1096 - val_loss: 0.1040
Epoch 4/30
675/675 [==============================] - 1139s - loss: 0.1072 - val_loss: 0.1019
Finished training intermediate1.
Quelle est la val_loss de l'époque 1? –
première ligne - 0.0860 @NicoleWhite – megashigger
Oups je vois. Si quelque chose aurait dû s'arrêter après l'époque 3, puisque votre perte ne s'améliore pas à partir de l'époque 1 de l'époque 2 ou 3. Pouvez-vous définir verbose = 1 dans le rappel et montrer ce qu'il dit? –