Theano (software)
Theano is a Python library and optimizing compiler for manipulating and evaluating mathematical expressions, especially matrix-valued ones.[2] In Theano, computations are expressed using a NumPy-esque syntax and compiled to run efficiently on either CPU or GPU architectures.
Developer(s) | Montreal Institute for Learning Algorithms (MILA), University of Montreal |
---|---|
Initial release | 2007 |
Stable release | 1.0.5[1]
/ 27 July 2020 |
Repository | github |
Written in | Python, CUDA |
Platform | Linux, macOS, Windows |
Type | Machine learning library |
License | The 3-Clause BSD License |
Website | www |
Theano is an open source project[3] primarily developed by the Montreal Institute for Learning Algorithms (MILA) at the Université de Montréal.[4]
The name of the software references the ancient philosopher Theano, long associated with the development of the golden mean.
On 28 September 2017, Pascal Lamblin posted a message from Yoshua Bengio, Head of MILA: major development would cease after the 1.0 release due to competing offerings by strong industrial players.[5] Theano 1.0.0 was then released on 15 November 2017.[6]
On 17 May 2018, Chris Fonnesbeck wrote on behalf of the PyMC development team[7] that the PyMC developers will officially assume control of Theano maintenance once they step down.
Sample code
The following code is the original Theano's example. It defines a computational graph with 2 scalars a and b of type double and an operation between them (addition) and then creates a Python function f that does the actual computation.[8]
import theano
from theano import tensor
# Declare two symbolic floating-point scalars
a = tensor.dscalar()
b = tensor.dscalar()
# Create a simple expression
c = a + b
# Convert the expression into a callable object that takes (a, b)
# values as input and computes a value for c
f = theano.function([a, b], c)
# Bind 1.5 to 'a', 2.5 to 'b', and evaluate 'c'
assert 4.0 == f(1.5, 2.5)
See also
- Comparison of deep learning software
- Differentiable programming
References
- "Release 1.0.5". 27 July 2020. Retrieved 28 July 2020.
- Bergstra, J.; O. Breuleux; F. Bastien; P. Lamblin; R. Pascanu; G. Desjardins; J. Turian; D. Warde-Farley; Y. Bengio (30 June 2010). "Theano: A CPU and GPU Math Expression Compiler" (PDF). Proceedings of the Python for Scientific Computing Conference (SciPy) 2010.
- "Github Repository".
- "deeplearning.net".
- Lamblin, Pascal (28 September 2017). "MILA and the future of Theano". theano-users (Mailing list). Retrieved 28 September 2017.
- "Release Notes – Theano 1.0.0 documentation".
- Developers, PyMC (1 June 2019). "Theano, TensorFlow and the Future of PyMC". Medium. Retrieved 27 August 2019.
- "Theano Documentation Release 1.0.0" (PDF). LISA lab, University of Montreal. 21 November 2017. p. 22. Retrieved 31 August 2018.
External links
- Official website (GitHub)
- Theano at Deep Learning, Université de Montréal