I have been trying to use the FastaiLRFinder to find the best learning rate for my module.
If we create the trainer with the function create_supervised_trainer
as below:
trainer = create_supervised_trainer(
model, optimizer, criterion, device, output_transform=custom_output_transform
)
and run it:
with lr_finder.attach(
trainer,
to_save=to_save,
num_iter=50,
end_lr=1.,
step_mode='exp') as lr_finder_training:
lr_finder_training.run(train_loader)
A warning will come up say: “UserWarning: Desired num_iter 50 is unreachable with the current run setup of 15 iteration (1 epochs) from ignite.contrib.handlers.param_scheduler import (LRScheduler, PiecewiseLinear)”
My dataloader has 15 batches to iterate, which means FastaiLRFinder does not allow you to run more than 1 epoch. Why?
According to their source code, we can see here that this verification limits the user to run more iterations than the maximum of epochs in their dataloader.
But why? Am I missing something important here?