Question about multiple optimizers and lr schedulers?
To train GAN,  I return two optimizers and two schudulers,

in def training_step(self, batch, batch_nb, optimizer_i):, I return G loss if optimizer_i == 0 else D loss if optimizer_i == 1. Is this correct? Does trainer use same batch data to call train_step twice, one for optimizer_i = 0, one for optimizer_i=1?
If I want to call scheduler_0.step() if optimizer_i == 0, scheduler_1.step() if optimizer_i == 1, how to do?