Skip to content

Commit

Permalink
feat: add verbose argument to EarlyStopping class
Browse files Browse the repository at this point in the history
  • Loading branch information
Bjarten committed Dec 30, 2018
1 parent 11da3df commit d64801f
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions pytorchtools.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@

class EarlyStopping:
"""Early stops the training if validation loss dosen't improve after a given patience."""
def __init__(self,patience=3):
def __init__(self, patience=7, verbose=False):
"""
Args:
patience (int): How long to wait after last time validation loss improved.
Default: 7
verbose (bool): If True, prints a message for each validation loss improvement.
Default: False
"""
self.patience = patience
self.verbose = verbose
self.counter = 0
self.best_score = None
self.early_stop = False
Expand All @@ -32,6 +36,7 @@ def __call__(self, val_loss, model):

def save_checkpoint(self, val_loss, model):
'''Saves model when validation loss decrease.'''
print(f'Validation loss decreased ({self.val_loss_min:.6f} --> {val_loss:.6f}). Saving model ...')
if self.verbose:
print(f'Validation loss decreased ({self.val_loss_min:.6f} --> {val_loss:.6f}). Saving model ...')
torch.save(model.state_dict(), 'checkpoint.pt')
self.val_loss_min = val_loss
self.val_loss_min = val_loss

0 comments on commit d64801f

Please sign in to comment.