vampnet-bytecover / bytecover /models /early_stopper.py
Hugo Flores Garcia
add bytecover
3a788dd
raw
history blame contribute delete
630 Bytes
import numpy as np
class EarlyStopper:
def __init__(self, patience: int = 1, min_delta: int = 0):
self.patience = patience
self.min_delta = min_delta
self.counter = 0
self.min_validation_loss = np.inf
def __call__(self, validation_loss) -> bool:
if validation_loss < self.min_validation_loss:
self.min_validation_loss = validation_loss
self.counter = 0
elif validation_loss >= (self.min_validation_loss + self.min_delta):
self.counter += 1
if self.counter >= self.patience:
return True
return False