Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs.
Theano is a Python library that allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays. It is built on top of NumPy. Theano features:
- tight integration with NumPy: a similar interface to NumPy’s. numpy.ndarrays are also used internally in Theano-compiled functions.
- transparent use of a GPU: perform data-intensive computations up to 140x faster than on a CPU (support for float32 only).
- efficient symbolic differentiation: Theano can compute derivatives for functions of one or many inputs.
- speed and stability optimizations: avoid nasty bugs when computing expressions such as log(1 + exp(x)) for large values of x.
- dynamic C code generation: evaluate expressions faster.
- extensive unit-testing and self-verification: includes tools for detecting and diagnosing bugs and/or potential problems.
Theano has been powering large-scale computationally intensive scientific research since 2007, but it is also approachable enough to be used in the classroom (IFT6266 at the University of Montreal).
Theano 1.0.2 (23rd of May, 2018)
This is a maintenance release of Theano, version 1.0.2, with no new features, but some important bug fixes.
We recommend that everybody update to this version.
Highlights (since 1.0.1):
- Theano should work under PyPy now (this is experimental).
- Update for cuDNN 7.1 RNN API changes.
- Fix for a crash related to mixed dtypes with cuDNN convolutions.
- MAGMA should work in more cases without manual config.
- Handle reductions with non-default accumulator dtype better on the GPU.
- Improvements to the test suite so that it fails less often due to random chance.
A total of 6 people contributed to this release since 1.0.1:
- Frederic Bastien
- Steven Bocco
- Jon Haygood
- Arnaud Bergeron
- Jordan Melendez
- Desiree Vogt-Lee
- Garming Sam
- Pascal Lamblin
- Vincent Dumoulin
- Simon Lefrancois