Welcome
Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Theano features:
- tight integration with NumPy – Use numpy.ndarray in Theano-compiled functions.
- transparent use of a GPU – Perform data-intensive calculations up to 140x faster than with CPU.(float32 only)
- efficient symbolic differentiation – Theano does your derivatives for function with one or many inputs.
- speed and stability optimizations – Get the right answer for log(1+x) even when x is really tiny.
- dynamic C code generation – Evaluate expressions faster.
- extensive unit-testing and self-verification – Detect and diagnose many types of mistake.
Theano has been powering large-scale computationally intensive scientific investigations since 2007. But it is also approachable enough to be used in the classroom (IFT6266 at the University of Montreal).
News
- We support if it is installed by the user.
- Open Machine Learning Workshop 2014 .
- Colin Raffel .
- Ian Goodfellow did a .
- Theano 0.6 was released. Everybody is encouraged to update.
- New technical report on Theano: .
- . We included a few fixes discovered while doing the Tutorial.
You can watch a quick (20 minute) introduction to Theano given as a talk at via streaming (or downloaded) video:
. James Bergstra, SciPy 2010, June 30, 2010.
Download
Theano is now , and can be installed via easy_install Theano, pip install Theano or by downloading and unpacking the tarball and typing python setup.py install.
Those interested in bleeding-edge features should obtain the latest development version, available via:
git clone git://github.com/Theano/Theano.git
You can then place the checkout directory on your $PYTHONPATH or use python setup.py develop to install a .pth into your site-packages directory, so that when you pull updates via Git, they will be automatically reflected the “installed” version. For more information about installation and configuration, see .
Status
Citing Theano
If you use Theano for academic research, you are highly encouraged (though not required) to cite the following two papers:
- F. Bastien, P. Lamblin, R. Pascanu, J. Bergstra, I. Goodfellow, A. Bergeron, N. Bouchard, D. Warde-Farley and Y. Bengio. . NIPS 2012 deep learning workshop. ()
- J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R. Pascanu, G. Desjardins, J. Turian, D. Warde-Farley and Y. Bengio. . Proceedings of the Python for Scientific Computing Conference (SciPy) 2010. June 30 - July 3, Austin, TX ()
Theano is primarily developed by academics, and so citations matter a lot to us. As an added benefit, you increase Theano’s exposure and potential user (and developer) base, which is to the benefit of all users of Theano. Thanks in advance!
See our for details.
Documentation
Roughly in order of what you’ll want to check out:
- – How to install Theano.
- – What is Theano?
- – Learn the basics.
- – Theano’s functionality, module by module.
- – A set of commonly asked questions.
- – Guide to Theano’s graph optimizations.
- – Learn to add a Type, Op, or graph optimization.
- – How to contribute code to Theano.
- – Primarily of interest to developers of Theano
- – How to maintain Theano, LISA-specific tips, and more...
- – How our release should work.
- – What we took from other projects.
- – link to other projects that implement new functionalities on top of Theano
You can download the latest , rather than reading it online.
Check out how Theano can be used for Machine Learning: .
Theano was featured at .
Community
“Thank YOU for correcting it so quickly. I wish all packages I worked with would have such an active maintenance - this is as good as it gets :-)”
(theano-users, Aug 2, 2010)
- Register to if you want to be kept informed on important change on theano(low volume).
- Register and post to if you want to talk to all Theano users.
- Register and post to if you want to talk to the developers.
- Register to if you want to receive an email for all changes to the GitHub repository.
- Register to if you want to receive our daily buildbot email.
- Ask/view questions/answers at (it’s like stack overflow for machine learning)
- We use to keep track of issues (however, some old tickets can still be found on ).
- Come visit us in Montreal! Most developers are students in the group at the .