Create a function to decide when to stop training a model early based on a list of validation losses. The early stopping criterion should stop training if the validation loss hasn't improved for a specified number of epochs (patience), and only count as improvement if the loss decreases by more than a certain threshold (min_delta). Your function should return the epoch to stop at and the best epoch, where an improvement is only recorded when the loss decreases by more than min_delta from the previous best.
Examples
Example 1:
Input:
[0.9, 0.8, 0.75, 0.77, 0.76, 0.77, 0.78], patience=2, min_delta=0.01Output:
(4, 2)Explanation: The best validation loss is 0.75 at epoch 2. There is no improvement greater than 0.01 for the next 2 epochs. Therefore, training should stop at epoch 4.
Starter Code
from typing import Tuple
def early_stopping(val_losses: list[float], patience: int, min_delta: float) -> Tuple[int, int]:
# Your code here
passPython3
ReadyLines: 1Characters: 0
Ready