Who Is This Course For?

Learn about the guidelines for getting started, the pre-requisites as well as the tools and the packages you will be using in this course.

What to expect from this course?

This guide is for anyone who wants to:

  • Take their first steps to understand what GANs are and how they work.

  • Learn how to actually build them with industry-standard tools.

This guide will try to use friendly, simple language and make use of lots of pictures to visually explain ideas. It will avoid unnecessary jargon and minimize the use of mathematical equations.

The aim is for as many readers as possible, from as many backgrounds as possible, to be able to:

  • Understand the concept of GANs.
  • Be excited about implementing GANs.

📝 This course won’t try to exhaustively cover every topic or be an encyclopedia of GANs. It intentionally tries to cover the minimum to give you a genuine foundation on which you can go on to explore further.

📝 Students of machine learning courses will find this course a good primer for further study.

How to use this course?

💡 The best way to learn and understand a concept is by doing it yourself. That’s why this course develops ideas and theory around a practical step-by-step journey.

💡 This guide will accompany you on a journey where we sometimes fail before finding a solution. Experiencing failure, and working through the remedies, is actual experience, and much more valuable than simply reading a theoretical guide to GANs.

💡 GANs are made of neural networks. 📝 Although this guide will refresh your understanding of them, my previous course Make Your Own Neural Network is dedicated to providing the gentlest introduction to neural networks and how they work. It also provides an introduction to calculus and gradient descent, which is useful for this journey into GANs. It also provides an introduction to programming in Python, covering just enough to be productive in building simple neural networks.

Free and open-source tools and services

All the tools and services presented here to build your own GANs are either free or open-source. This is important to ensure as few people as possible are excluded from learning about and building neural networks and GANs.


Python is one of the most popular and easy to learn programming languages, and has become the standard in machine learning and AI, with a vibrant global community and healthy ecosystem of libraries.

Python - A programming language
Python - A programming language

PyTorch is an extension of Python that makes it easy to design, build, and run machine learning models. Alongside TensorFlow, it is amongst the most popular machine learning frameworks.

PyTorch - A Python package
PyTorch - A Python package

All these tools are also the industry standard, so you’re learning valuable reusable skills.

📝 Google currently provides a free web-based Python environment called Google Colab which means you don’t need to install Python or any software at all. You can develop and run powerful neural networks entirely in Google’s infrastructure using only a modern web browser and from a very modest computer or laptop. Appendix 1 will teach you how to run codes on a Google colab.

📝 At Educative, we will provide you with a workspace using our app that uses a Jupyter Notebook 🎉.

Without further ado, let’s begin!🚀