Understanding Neural Networks with Theano

Jaidev Deshpande (~jaidevd)




Theano is not only a powerful tool to build and run deep and shallow neural networks, it is also a wonderful learning resource. Since it works primarily on symbolic mathematical expressions, it can help us understand how learning in neural networks can be interpreted in terms of equations, vectors, variables and Python functions.

In this tutorial, participants will get a (very) brief background on the mathematics of neural networks and how to use theano to convert this knowledge into a Python program that can train and use a neural network.

Broadly the topics covered will be as follows:

  1. Constructing simple neural networks in Python
  2. Vectorizing neural networks in NumPy
  3. Simplifying the neural network construction with Theano
  4. Extending simple neural networks into deep networks


  1. Intermediate knowledge of Python - classes, functions, control statements
  2. Basic knowledge of the numpy.ndarray object
  3. Basic differential calculus

Content URLs:

This is a working repository of the notebooks to be used in the workshop: https://github.com/jaidevd/pydelhi_theano

Speaker Info:

I am a data scientist based in New Delhi. I currently work at Juxt SmartMandate Analytic Solutions as Practice Lead in data science. I have been an active member of the Delhi, Pune and Mumbai Python users' groups and am also an organizer of the SciPy India conference.

My background is in statistical signal processing and applications of machine learning in signal processing. I am currently working on various projects involving NLP, recommender systems and deep learning for computer vision.

Section: Scientific Computing
Type: Workshops
Target Audience: Intermediate
Last Updated:

Hi! Could you please add up slides to your workshop/talk?

Shivani Bhardwaj (~shivan1b)

Hi Shivani,

There are no slides, specifically. Participants will be following the Jupyter notebooks for which I have shared the link. The notebooks will have both the notes and the code required to go through this tutorial.

Jaidev Deshpande (~jaidevd)

Login to add a new comment.