The Python library that allows you to define, optimize and evaluate mathematical expressions, especially the evaluation of expressions in multidimensional arrays (numpy’s ndarray). 

Theano implements a classification neural network.

It can provide performance similar to a manual C implementation for the task of solving big data usage.

Theano can also be significantly faster than a CPU-based C implementation when using GPUs.  

The main developer of Theano is the machine learning group at the University of Montreal.


Digital platforms: Cross-platform software

Versions: Cloud/On-Premise 


Computations in Theano are expressed in NumPy-like syntax and compiled for efficient parallel computing on both regular CPUs and GPUs.

Basic mathematical methods, operations and data structures supported by Theano: 

  • operation with tensors through numpy.ndarray structure and support for multiple tensor operations.
  • work with sparse matrices through SciPy structures.
  • numerous linear algebra methods, including quite complex ones.
  • ability to create new graph operations in runtime mode.
  • multiple graph transformation operations.
  • Python language support for versions 2 and 3.
  • GPU support (CUDA and OpenCL).
  • support for Basic Linear Algebra Subprograms (BLAS) standard for linear algebra procedures.