Gluon is an imperative API for MXNet that’s flexible and easy-to-use, and this course aims to give you a quick overview of the core Gluon concepts so you'll be ready to use it in your next projects. Once you've completed the course, you should be able to:

  1. Understand how to use the major components of Gluon
  2. Define and train a basic neural network to classify images


This course assumes that readers have basic knowledge about machine learning and neural networks. For a high-level introduction to neural networks, you might find Andrew Ng's Coursera class on Neural Networks and Deep Learning useful for acquiring the basic neural networking knowledge. You can also refer to these excellent hands-on tutorials to learn deep learning from scratch.

Some of the material might stray a little too far into advanced mathematics, but don't be concerned. You can still learn to use neural networks and Gluon without a PhD.


This course requres Jupyter notebooks and MXNet v1.2.1 or a newer version. Please refer to Section 8 for how to install various MXNet versions. For instructions on running the Jupyter notebooks included with this course, please refer to the README. Otherwise, you can simply read through this course's material.

We also provide a supplementary YouTube video playlist that walks you through each of the chapters. Note that these videos are based on version 0.1. A newer version may be slightly different.


You may also download the PDF of this material, and packed notebooks in zip or tar.gz format.

Help & Discussions

To get help or ask questions, please use the MXNet forum.


To contribute or report bugs, please refer to the GitHub repo.


  1. The idea to provide a short tutorial like this is from Pytorch.
  2. A large amount of content is adapted from Deep Learning - The Straight Dope.