Building a GAN From Scratch With PyTorch | Theory + Implementation