Wasserstein GAN critic training ambiguity
I'm running a DCGAN-based GAN, and am experimenting with WGANs, but am a bit confused about how to train the WGAN.

In the official Wasserstein GAN PyTorch implementation, the discriminator/critic is said to be trained Diters (usually 5) times per each generator training.

Does this mean that the critic/discriminator trains on Diters batches or the whole dataset Diters times? If I'm not mistaken, the official implementation suggests the discriminator/critic is trained on the whole dataset Diters times, but other implementations of WGAN (in PyTorch and TensorFlow etc.) do the opposite.

Which is correct? The WGAN paper (to me, at least), indicates that it is Diters batches. Training on the whole dataset is obviously orders of magnitude slower.

Thanks in advance!

The correct is to consider an iteration as a batch. 
In the original paper, for each iteration of the critic/discriminator they are sampling a batch of size m of the real data and  a batch of size m of prior samples p(z) to work it. After the critic is trained over Diters iterations, they train the generator which also starts by the sampling of a batch of prior samples of p(z).
Therefore, each iteration is working on a batch. 

In the official implementation this is also happening. What may be confusing is that they use the variable name niter to represent the number of epochs to train the model. Although they use a different scheme to set Diters at lines 162-166:

# train the discriminator Diters times
    if gen_iterations &lt; 25 or gen_iterations % 500 == 0:
        Diters = 100
    else:
        Diters = opt.Diters


they are, as in the paper, training the critic over Diters batches.
