Currently in train.py module, The early stopping happens as:
current_lr = optimizer.param_groups[0]["lr"]
if counter >= training_config.patience and current_lr <= scheduler.min_lrs[0]:
break
The scheduler.min_lrs[0] is hard coded as 1e-7 and reduction factor is 0.5. Therefore, as can be seen from the results of training, training reaches a plateau, but the epoch loop doesnot break. We should expose these argument to be bale to adjust them based on optimizer_lr.
Currently in train.py module, The early stopping happens as:
The
scheduler.min_lrs[0]is hard coded as 1e-7 and reduction factor is 0.5. Therefore, as can be seen from the results of training, training reaches a plateau, but the epoch loop doesnot break. We should expose these argument to be bale to adjust them based onoptimizer_lr.