Python library for creating neural networks and deep learning



I have used scikit-learn extensively for machine learning projects. Now I am working on several pieces including voice recognition and image recognition and I wanted to use neural networks and Deep learning for these problems.

I have tried using Pybrain, but it is discontinued now. What are the best libraries and resources I can use to build neural network based models and perform deep learning.


Try out Pylearn2 or Theano - they are currently the best choices for building neural networks and deep learning on Python.

Both the libraries have relatively steep learning curve, but once you get a hang of them, they should be good to use. You will find probably everything you need in these libraries: Standard Multilayer Perceptrons, Restricted Boltzmann Machines, Convolutional Nets or Autoencoders.

Pylearn2 is based on Theano and actually brings in a lot of modularity. You can find a good high level description of the relation between 2 libraries here:

A word of caution, Pylearn2 is undergoing a lot of development and get updated very frequently - so expect a few problems on the go!


Hey @sniper!

There are a couple of python libraries listed out in learning path for deep learning. Here are some of them

  • Tensorflow
  • Theano
  • Keras
  • Lasagne
  • Nolearn


Hi @sniper
I use Keras with Tensorflow.
Keras is a wrapper on Tensorflow and Theano. I would recommend the same. It is very easy to understand and implement.