Is there a way to overide scheduler calls in pytorch_lightning ?
What I want to do is the following:

I have 2 optimizers and 2 lr_schedulers
The 1st optimizer and 1st scheduler will step normally but the 2nd optimizer and 2nd scheduler will step only after the 4th epoch.

Now I wrote this code in which i could modify the stepping of the optimizer how can i do the same for the schedulers:
def configure_optimizers(self):
     opt1, sch1 = ... , ...
     opt2, sch2 = ... , ...
     return [opt1, opt2], [{'scheduler':sch1, 'interval': 'step'}, {'scheduler': sch2, 'interval': 'step'}]

def optimizer_step(self, epoch, batch_idx, optimizer, optimizer_idx, optimizer_closure, *args, **kwargs):
    if optimizer_i == 0:
         optimizer.step(closure=optimizer_closure)
         optimizer.zero_grad()
    if optimizer_i == 1:
         if epoch > 4:
             optimizer.step(closure=optimizer_closure)
             optimizer.step()
In a nutshell what i want to do is:
if scheduler_i == 0:
   scheduler.step()
if scheduler_i == 1:
   if current_epoch > 4:
      scheduler.step()
Is this achievable in pytorch-lightning ?