AlainDeLong's picture
Create translate app
e27ab6a
raw
history blame contribute delete
776 Bytes
class EarlyStopping:
def __init__(self, patience=5, min_delta=1e-4, verbose=True):
self.patience = patience
self.min_delta = min_delta
self.verbose = verbose
self.best_loss = float("inf")
self.counter = 0
self.should_stop = False
def step(self, val_loss):
# Check improvement
if val_loss < self.best_loss - self.min_delta:
self.best_loss = val_loss
self.counter = 0
else:
self.counter += 1
# Stop condition
if self.counter >= self.patience:
self.should_stop = True
if self.verbose:
print(
f"[EarlyStopping] No improvement for {self.patience} epochs → stopping."
)