Skip to content

Commit

Permalink
add delta
Browse files Browse the repository at this point in the history
  • Loading branch information
AdilZouitine committed Aug 9, 2019
1 parent fbcd638 commit dfe8e45
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions pytorchtools.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,23 @@

class EarlyStopping:
"""Early stops the training if validation loss doesn't improve after a given patience."""
def __init__(self, patience=7, verbose=False):
def __init__(self, patience=7, verbose=False, delta=0):
"""
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
delta (float): Minimum change in the monitored quantity to qualify as an improvement.
Default: 0
"""
self.patience = patience
self.verbose = verbose
self.counter = 0
self.best_score = None
self.early_stop = False
self.val_loss_min = np.Inf
self.delta = delta

def __call__(self, val_loss, model):

Expand All @@ -25,7 +28,7 @@ def __call__(self, val_loss, model):
if self.best_score is None:
self.best_score = score
self.save_checkpoint(val_loss, model)
elif score < self.best_score:
elif score < self.best_score - delta:
self.counter += 1
print(f'EarlyStopping counter: {self.counter} out of {self.patience}')
if self.counter >= self.patience:
Expand Down

0 comments on commit dfe8e45

Please sign in to comment.