You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a current problem? Please describe.
The Tuner functions of Lightning would come in handy, and could be relatively easy to implement.
Describe proposed solution
Currently it is possible to access them, but in a super hacky way in two steps:
Start a model fit, and interrupt it (This initializes the trainer, the datasets and all the necessary bells and whistles)
The observation is, that the fit() and from it the fit_from_dataset() calls are essentially doing all the setup, and the only thing not needed would be one line here, which is actually calling the training.
Suggestion:
Adding a flag like setup_only=True to fit (default False), thus letting people use the fit function for setup
Making the lr_find() and scale_batch_size() functions available from the Darts model, not having to use this awkward way of accessing it.
Describe potential alternatives
Alternative would be to refactor the fit in a way, that it has an internal setup() call, and then continues with training, then letting people call this setup() externally, but I think this is way more effort for basically no benefit.
Additional context
In case of more straining model trainings, both tuner options are pretty beneficial, the scale_batch_size() for maximizing GPU utilization, the lr_find() for more efficient LR policies, like 1cycle that depend heavily on max LR measurement.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a current problem? Please describe.
The Tuner functions of Lightning would come in handy, and could be relatively easy to implement.
Describe proposed solution
Currently it is possible to access them, but in a super hacky way in two steps:
lr_finder = model_nhits.model.trainer.tuner.lr_find(model_nhits.model, train_dataloaders=model_nhits.model.trainer._data_connector._train_dataloader_source.instance)
(see here )
The observation is, that the
fit()
and from it thefit_from_dataset()
calls are essentially doing all the setup, and the only thing not needed would be one line here, which is actually calling the training.Suggestion:
setup_only=True
to fit (default False), thus letting people use the fit function for setuplr_find()
andscale_batch_size()
functions available from the Darts model, not having to use this awkward way of accessing it.Describe potential alternatives
Alternative would be to refactor the fit in a way, that it has an internal
setup()
call, and then continues with training, then letting people call thissetup()
externally, but I think this is way more effort for basically no benefit.Additional context
In case of more straining model trainings, both tuner options are pretty beneficial, the
scale_batch_size()
for maximizing GPU utilization, thelr_find()
for more efficient LR policies, like 1cycle that depend heavily on max LR measurement.The text was updated successfully, but these errors were encountered: