Skip to content

Demonstration of recurrent neural network implemented with Theano

License

Notifications You must be signed in to change notification settings

davidljung/theano-rnn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#theano-rnn

Demonstration of recurrent neural network implemented with Theano

Dependencies

  • Theano
  • Scikit-learn This relies on scikits-learn simply because I subclass their BaseEstimator class, but this dependency could easily be removed.
  • A reasonably good Python distribution with numpy and scipy. I recommend Enthought because it is heavily optimized and it has a free academic license.
  • If you want to use the Hessian-Free optimizer then you will also need: theano-hf

Description

  • rnn.py : this is the most basic implementation of a "vanilla" RNN. It is designed for readability. It processes each sequence at a time. There are three test functions which show how to train an RNN with real-valued, binary or softmax outputs using stochastic gradient descent.
  • rnn_minibatch.py : this is similar to rnn.py but it is slightly more complicated code and processes multiple sequences at once for speed (i.e. in "mini-batches"). It also hooks into scipy.optimize to use more sophisticated optimization methods. It again includes three test functions based on output type.
  • hf_example.py: this uses the class defined by rnn.py but instead of training it with stochastic gradient descent, it trains it with Martens and Sutskever's variant of Hessian-Free optimization.

Other implementations

There are other Theano rnn implementations publicly available, for example:

About

Demonstration of recurrent neural network implemented with Theano

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%