# theano/theano

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/theano-theano).**

9,995 stars · 2,465 forks · Python · NOASSERTION

## Links

- GitHub: https://github.com/Theano/Theano
- Homepage: https://www.github.com/pymc-devs/pytensor
- awesome-repositories: https://awesome-repositories.com/repository/theano-theano.md

## Description

Theano is a Python mathematical expression compiler and symbolic math library used as a deep learning backend. It functions as a tensors computation framework that translates mathematical formulas into optimized C or CUDA code for high-performance computing.

The system manages the definition and evaluation of complex math formulas using multi-dimensional arrays. It employs a symbolic expression graph and a lazy evaluation engine to optimize mathematical expressions before they are compiled into executable code.

The framework provides automatic differentiation for calculating gradients of mathematical functions. Its capability surface covers deep learning framework development, scientific computing workflows, and the optimization of mathematical expressions through intermediate representation rewrites and multi-dimensional array dispatch.

## Tags

### Part of an Awesome List

- [Neural Networks and Deep Learning](https://awesome-repositories.com/f/awesome-lists/ai/neural-networks-and-deep-learning.md) — Functions as a foundational library for building neural networks by managing tensor operations and gradients.
- [General Machine Learning](https://awesome-repositories.com/f/awesome-lists/ai/general-machine-learning.md) — Math compiler for optimizing array-oriented code.

### Artificial Intelligence & ML

- [Automatic Differentiation Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/automatic-differentiation-frameworks.md) — Implements a comprehensive engine for computing exact gradients and higher-order derivatives via the chain rule.
- [Computational Graph Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/computational-graph-frameworks.md) — Implements a framework for defining and executing mathematical operations as directed computational graphs.
- [Deep Learning Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/deep-learning-frameworks.md) — Serves as a foundational computational engine for building and training deep learning models.
- [Lazy Evaluation Engines](https://awesome-repositories.com/f/artificial-intelligence-ml/lazy-evaluation-engines.md) — Employs an execution model that defers mathematical operations until an explicit output value is requested.

### Programming Languages & Runtimes

- [C Source Generators](https://awesome-repositories.com/f/programming-languages-runtimes/c-source-generators.md) — Translates symbolic mathematical expressions into optimized C code for high-performance execution via native compilers.
- [Mathematical Expression Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/expression-tree-compilation/mathematical-expression-compilers.md) — Compiles and optimizes mathematical expressions involving multi-dimensional arrays for efficient execution.
- [Deferred-Execution Symbolic Graphs](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/graph-symbolic-execution-engines/deferred-execution-symbolic-graphs.md) — Constructs symbolic representations of mathematical operations as directed graphs to enable graph-level optimizations.
- [Universal Array Function Dispatchers](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/type-definition-systems/runtime-type-dispatching/universal-function-dispatchers/universal-array-function-dispatchers.md) — Maps high-level tensor operations to efficient low-level linear algebra libraries based on input data shapes.

### Scientific & Mathematical Computing

- [Scientific Computing](https://awesome-repositories.com/f/scientific-mathematical-computing/high-performance-execution-environments/scientific-computing-platforms/scientific-computing.md) — Provides a framework for performing large-scale numerical calculations and multi-dimensional array operations.
- [Expression Evaluators](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/mathematical-libraries-and-utilities/mathematical-libraries/expression-evaluators.md) — Evaluates complex mathematical operations using multi-dimensional arrays through optimized execution paths. ([source](https://github.com/theano/theano#readme))
- [Symbolic Math Manipulators](https://awesome-repositories.com/f/scientific-mathematical-computing/symbolic-math-manipulators.md) — Translates mathematical formulas into optimized C or CUDA code using symbolic manipulation.
- [Mathematical Expression Optimizers](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/mathematical-libraries-and-utilities/mathematical-libraries/expression-evaluators/mathematical-expression-optimizers.md) — Optimizes complex mathematical formulas using algebraic rewrites to achieve high-performance execution.

### Software Engineering & Architecture

- [Compiler Intermediate Representations](https://awesome-repositories.com/f/software-engineering-architecture/execution-graphs/graph-execution-compilers/compiler-intermediate-representations.md) — Uses internal graph-based models of program logic to perform algebraic rewrites and global optimization.
