Deep Recurrent Neural Networks
Python Jupyter Notebook
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Deep RNN models with Theano.

Why 'DerpRNN'? Because 'DeepRNN' was already taken!

This is a smallish Python module for deep recurrent neural networks using Theano. Evolving through time and the layers is performed all in a nested theano.scan loop, so the implementation is in this way a bit different than in e.g. Keras. Here's a list of some of the features (of the DeepRNN class):

  • Hidden recurrent layers can be SRU (standard recurrent layer) or GRU (all same type and shape!)
  • tanh "read in" layer before the recurrent layers
  • Readout layer can be RBM, tanh, sigmoid or softmax
  • There's also a fully translation invariant version (InvariantDeepRNN, but it's not quite done yet...)

Please see the Demo notebook for example usage!

Also discussed here.

Requirements are the usual scientific python ones, plus of course Theano. Also python-midi is needed for processing the midi data. You may also need need cython.

There's a seup script, so you should be able to install the module and the dependencies by pip install git+

If that fails, you can try cloning the repo by git clone and then python build_ext --inplace to compile the cython modules (although you may not need to do that at all, depending on your machine).