# Theano

> numerical computation library for Python

**Wikidata**: [Q7777252](https://www.wikidata.org/wiki/Q7777252)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Theano_(software))  
**Source**: https://4ort.xyz/entity/theano-q7777252

## Summary
Theano is a numerical computation library for Python, developed primarily for scientific and machine learning applications. It was created in 2008 by Frédéric Bastien and Pascal Lamblin at the Université de Montréal and is notable for its ability to optimize mathematical expressions for efficient computation on CPUs and GPUs.

## Key Facts
- **Inception**: Theano was first developed in 2008 by Frédéric Bastien and Pascal Lamblin at the Université de Montréal.
- **Primary Use**: Designed for scientific computing, particularly in machine learning and numerical computations.
- **Programming Language**: Written in Python, with support for GPU acceleration.
- **Latest Stable Version**: 1.0.0, released on November 15, 2017.
- **License**: Released under the 3-clause BSD License.
- **Successor**: Theano was succeeded by PyTensor, with the official transition announced in November 2022.
- **Field of Work**: Primarily used in machine learning and scientific computing.
- **Software Quality Assurance**: Utilizes continuous integration via Travis CI.
- **Source Code Repositories**: Hosted on GitHub under the Theano organization, with multiple repositories for different licensing terms.

## FAQs
### Q: What is Theano used for?
A: Theano is primarily used for numerical computations, particularly in machine learning and scientific applications. It optimizes mathematical expressions for efficient execution on CPUs and GPUs.

### Q: Who developed Theano?
A: Theano was developed by Frédéric Bastien and Pascal Lamblin at the Université de Montréal, with the first release occurring in 2008.

### Q: Is Theano still maintained?
A: Theano is no longer actively maintained. Its successor, PyTensor, was announced in November 2022 and is now the recommended library for similar computational tasks.

### Q: What license does Theano use?
A: Theano is released under the 3-clause BSD License, allowing for broad use and modification.

### Q: How does Theano compare to other numerical computation libraries?
A: Theano was a pioneer in optimizing mathematical expressions for GPU acceleration, though it has since been succeeded by more modern libraries like PyTorch and TensorFlow.

## Why It Matters
Theano was a foundational library in the development of deep learning and scientific computing. Its ability to compile mathematical expressions into efficient code for CPUs and GPUs made it a key tool for researchers and developers working in machine learning. The project was instrumental in advancing the field by providing a framework that could leverage GPU acceleration, which was crucial for training large neural networks. However, as the field evolved, Theano was eventually succeeded by PyTensor, reflecting the dynamic nature of software development in the machine learning space. Despite its eventual retirement, Theano remains significant as a historical milestone in the development of computational tools for scientific and machine learning applications.

## Notable For
- **GPU Acceleration**: Pioneered the use of GPU acceleration for numerical computations in Python.
- **Machine Learning Focus**: Primarily used in machine learning research and development.
- **Open Source Contribution**: Released under a permissive license, encouraging broad adoption and modification.
- **Historical Impact**: Served as a precursor to modern deep learning frameworks like PyTorch and TensorFlow.
- **University Development**: Created by researchers at the Université de Montréal, reflecting academic contributions to open-source software.

## Body
### Origins and Development
Theano was initiated in 2008 by Frédéric Bastien and Pascal Lamblin at the Université de Montréal. The project aimed to provide a Python-based framework for optimizing mathematical expressions, particularly for use in machine learning and scientific computing. The first stable version, 0.4.1, was released in August 2011, marking the beginning of its development as a specialized numerical computation library.

### Technical Features
Theano was designed to compile mathematical expressions into efficient code for execution on CPUs and GPUs. This feature was particularly valuable for machine learning applications, where large-scale computations were common. The library supported a wide range of numerical operations and could optimize expressions for performance, making it a powerful tool for researchers and developers.

### Version History
Theano underwent several major version releases, including 0.5 in February 2012, 0.6 in December 2013, and 0.7 in March 2015. These releases introduced new features and improvements, reflecting the ongoing development and refinement of the library. The final stable version, 1.0.0, was released in November 2017, marking a significant milestone in its development.

### Successor and Legacy
In November 2022, Theano was succeeded by PyTensor, a new library developed by the same team. The transition was announced on the PyMC blog, highlighting the evolution of the project. While Theano is no longer actively maintained, its legacy continues to influence modern computational tools in machine learning and scientific computing.

### Open Source and Community
Theano was released under the 3-clause BSD License, allowing for broad use and modification. The project was hosted on GitHub, with multiple repositories available for different licensing terms. This open-source approach encouraged community contributions and adoption, making Theano a key resource for researchers and developers in the field.

## References

1. Theano: A Python framework for fast computation of mathematical expressions
2. MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems
3. [The theano Open Source Project on Open Hub: Licenses Page. Open Hub](https://www.openhub.net/p/theano/licenses)
4. [The theano Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/theano/analyses/latest/languages_summary)
5. [Release 1.0.0. 2017](https://github.com/Theano/Theano/releases/tag/rel-1.0.0)
6. [Release 0.4.1. 2011](https://github.com/Theano/Theano/releases/tag/rel-0.4.1)
7. [Release 0.5. 2012](https://github.com/Theano/Theano/releases/tag/rel-0.5)
8. [Release 0.6. 2013](https://github.com/Theano/Theano/releases/tag/rel-0.6)
9. [Release 0.7. 2015](https://github.com/Theano/Theano/releases/tag/rel-0.7)
10. [Release 0.8.0. 2016](https://github.com/Theano/Theano/releases/tag/rel-0.8.0)
11. [Release 0.8.1. 2016](https://github.com/Theano/Theano/releases/tag/rel-0.8.1)
12. [Release 0.8.2. 2016](https://github.com/Theano/Theano/releases/tag/rel-0.8.2)
13. [Release 0.9.0. 2017](https://github.com/Theano/Theano/releases/tag/rel-0.9.0)
14. [Release 1.0.1. 2017](https://github.com/Theano/Theano/releases/tag/rel-1.0.1)
15. [Release 1.0.2. 2018](https://github.com/Theano/Theano/releases/tag/rel-1.0.2)
16. [Release 1.0.3. 2018](https://github.com/Theano/Theano/releases/tag/rel-1.0.3)
17. [Release 1.0.4. 2019](https://github.com/Theano/Theano/releases/tag/rel-1.0.4)
18. [Release 1.0.5. 2020](https://github.com/Theano/Theano/releases/tag/rel-1.0.5)
19. [Release 2.8.10. 2022](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.8.10)
20. [Release 2.8.11. 2022](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.8.11)
21. [Release 2.8.12. 2022](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.8.12)
22. [Release 2.9.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.9.0)
23. [Release 2.9.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.9.1)
24. [Release 2.10.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.10.0)
25. [Release 2.10.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.10.1)
26. [Release 2.11.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.11.0)
27. [Release 2.11.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.11.1)
28. [Release 2.11.2. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.11.2)
29. [Release 2.11.3. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.11.3)
30. [Release 2.12.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.12.0)
31. [Release 2.12.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.12.1)
32. [Release 2.12.2. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.12.2)
33. [Release 2.12.3. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.12.3)
34. [Release 2.13.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.13.0)
35. [Release 2.13.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.13.1)
36. [Release 2.14.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.14.0)
37. [Release 2.14.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.14.1)
38. [Release 2.14.2. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.14.2)
39. [Release 2.15.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.15.0)
40. [Release 2.16.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.16.0)
41. [Release 2.16.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.16.1)
42. [Release 2.16.2. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.16.2)
43. [Release 2.16.3. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.16.3)
44. [Release 2.17.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.17.0)
45. [Release 2.17.2. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.17.2)
46. [Release 2.17.3. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.17.3)
47. [Release 2.17.4. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.17.4)
48. [Release 2.18.0. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.18.0)
49. [Release 2.18.1. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.18.1)
50. [Release 2.18.2. 2023](https://github.com/pymc-devs/pytensor/releases/tag/rel-2.18.2)