AdversarialTrainingPlan in _trainingplans.py

There are two optimizers in the training_step function, are they optimized every batch or every epoch?

training_step is the function called for every batch to compute the training step. So both optimizers are updated for every minibatch.