Theano – numerical computation library for Python

Theano is an open source numerical Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.

Theano is a general mathematical tool, but it was developed with the goal of facilitating research in deep learning.

The software can use GPUs and perform efficient symbolic differentiation.

Theano is no longer being developed by MILA. The final release of Theano version 1.0.0 has been followed up by a couple of bug fix releases.

Features include:

  • Tight integration with NumPy – Use numpy.ndarray in Theano-compiled functions. Transparent use of a GPU – Perform data-intensive computations much faster than on a CPU.
  • Efficient symbolic differentiation – derivatives for functions with one or many inputs.
  • Speed and stability optimizations – get the right answer for log(1+x) even when x is really tiny.
  • Synamic C code generation – evaluate expressions faster.
  • Theano can use g++ or nvcc to compile parts of your expression graph into CPU or GPU instructions.
  • Combines aspects of a computer algebra system (CAS) with aspects of an optimizing compiler.
  • Extensive unit-testing and self-verification – detect and diagnose many types of errors.
  • Supports pygpu – a library to manipulate arrays on GPU.
  • Use multiple GPUs simultaneously.
  • Applies many kinds of graph optimizations.
  • Cross-platform support – runs on Linux, Mac OS and Windows.
  • Builds of Theano are available as Docker images.

Developer: Theano Development Team
License: 3-clause BSD license

Theano has the following dependencies:

  • Python 2.7 or Python 3.4-3.6.
  • NumPy.
  • SciPy.
  • BLAS.

Optional requirements include: g++, nose, Sphinx, pygments, NVIDIA CUDA drivers, libgpuarray, pycuda, skcuda, and warp-ctc.

Return to Deep Learning with Python Home Page

Read our complete collection of recommended free and open source software. The collection covers all categories of software.
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.