What difference are there in using an optimizer ( torch.optim.ChosenOptimizer) to vary learning rates as opposed to  an lr_scheduler (torch.optim.lr_scheduler.ChosenScheduler )?
What are some possible consequences of using both?