Theano
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.

Benefits
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.
