Learn From the Scratch to Expert Level: Deep Learning & Generative Adversarial Networks (GAN) using Python with Keras