From 2a16f630e73e3f07cdc5851ffa9cb2aacd11bf86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20W=C3=A4lchli?= Date: Mon, 9 Dec 2019 13:59:38 +0100 Subject: [PATCH 1/2] fix early stopping off by 2 --- pytorch_lightning/trainer/training_loop.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/trainer/training_loop.py b/pytorch_lightning/trainer/training_loop.py index 3e94d8ae61a20..fe88b4df96d32 100644 --- a/pytorch_lightning/trainer/training_loop.py +++ b/pytorch_lightning/trainer/training_loop.py @@ -339,7 +339,7 @@ def train(self): self.reduce_lr_on_plateau_scheduler.step(val_loss, epoch=self.current_epoch) # early stopping - met_min_epochs = epoch > self.min_epochs + met_min_epochs = epoch >= self.min_epochs - 1 if self.enable_early_stop and (met_min_epochs or self.fast_dev_run): should_stop = self.early_stop_callback.on_epoch_end(epoch=epoch, logs=self.callback_metrics) From e8a3a701b9b198a81fdb0dbb2cf9f5e76644b654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20W=C3=A4lchli?= Date: Mon, 9 Dec 2019 14:00:04 +0100 Subject: [PATCH 2/2] add min_epochs example in docs --- pytorch_lightning/trainer/training_loop.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pytorch_lightning/trainer/training_loop.py b/pytorch_lightning/trainer/training_loop.py index fe88b4df96d32..d2a98780aa766 100644 --- a/pytorch_lightning/trainer/training_loop.py +++ b/pytorch_lightning/trainer/training_loop.py @@ -50,6 +50,9 @@ # pass in your own to override the default callback trainer = Trainer(early_stop_callback=early_stop_callback) + # pass in min_epochs to enable the callback after min_epochs have run + trainer = Trainer(early_stop_callback=early_stop_callback, min_epochs=5) + # pass in None to disable it trainer = Trainer(early_stop_callback=None)