The discriminator is the easiest part of a GAN structure to understand—the discriminator is going to classify the input image as real or not. This classification will happen in the adversarial training. Essentially, the discriminator will classify the inputs during the forward pass of the neural network. As the generator gets better, it will be harder and harder for the GAN to distinguish between the real and fake images. We monitor the loss functions on the Terminal screen, but we could use them in the future to stop training early.
Remember that folder we created earlier in this chapter? You will want to create three new files in this folder. Here are the files you need to create in this folder (you can use the Linux command touch filename.py
to create them):
generator.py
discriminator.py
gan.py
After creating these files, your directory structure should look like this inside of the full-gan
folder:
full-gan/ ├── discriminator...