Skip to main content

Optimizing compiler for evaluating mathematical expressions on CPUs and GPUs.

Project description

Theano is a Python library that allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays. It is built on top of NumPy. Theano features:

  • tight integration with NumPy: a similar interface to NumPy’s. numpy.ndarrays are also used internally in Theano-compiled functions.
  • transparent use of a GPU: perform data-intensive computations up to 140x faster than on a CPU (support for float32 only).
  • efficient symbolic differentiation: Theano can compute derivatives for functions of one or many inputs.
  • speed and stability optimizations: avoid nasty bugs when computing expressions such as log(1 + exp(x)) for large values of x.
  • dynamic C code generation: evaluate expressions faster.
  • extensive unit-testing and self-verification: includes tools for detecting and diagnosing bugs and/or potential problems.

Theano has been powering large-scale computationally intensive scientific research since 2007, but it is also approachable enough to be used in the classroom (IFT6266 at the University of Montreal).

Release Notes

Theano 1.0.0rc1 (30th of October, 2017)

This release contains new features, improvements and bug fixes to prepare the upcoming release.

We recommend that every developer updates to this version.

  • Make sure MKL uses GNU OpenMP
    • NB: Matrix dot product (gemm) with mkl from conda could return wrong results in some cases. We have reported the problem upstream and we have a work around that raises an error with information about how to fix it.
  • Optimized SUM(x^2), SUM(ABS(X)) and MAX(ABS(X)) operations with cuDNN reductions
  • Added Python scripts to help test cuDNN convolutions
  • Fixed invalid casts and index overflows in theano.tensor.signal.pool

A total of 71 people contributed to this release since 0.9.0, see list below.

Commiters since 0.9.0:
  • Frederic Bastien
  • Steven Bocco
  • João Victor Tozatti Risso
  • Arnaud Bergeron
  • Mohammed Affan
  • amrithasuresh
  • Pascal Lamblin
  • Reyhane Askari
  • Alexander Matyasko
  • Shawn Tan
  • Simon Lefrancois
  • Adam Becker
  • Vikram
  • Gijs van Tulder
  • Faruk Ahmed
  • Thomas George
  • erakra
  • Andrei Costinescu
  • Boris Fomitchev
  • Zhouhan LIN
  • Aleksandar Botev
  • jhelie
  • xiaoqie
  • Tegan Maharaj
  • Matt Graham
  • Cesar Laurent
  • Gabe Schwartz
  • Juan Camilo Gamboa Higuera
  • Tim Cooijmans
  • Anirudh Goyal
  • Saizheng Zhang
  • Yikang Shen
  • vipulraheja
  • Florian Bordes
  • Sina Honari
  • Chiheb Trabelsi
  • Shubh Vachher
  • Daren Eiri
  • Joseph Paul Cohen
  • Laurent Dinh
  • Mohamed Ishmael Diwan Belghazi
  • Jeff Donahue
  • Ramana Subramanyam
  • Bogdan Budescu
  • Dzmitry Bahdanau
  • Ghislain Antony Vaillant
  • Jan Schlüter
  • Nan Jiang
  • Xavier Bouthillier
  • fo40225
  • mrTsjolder
  • wyjw
  • Aarni Koskela
  • Adam Geitgey
  • Adrian Keet
  • Adrian Seyboldt
  • Anmol Sahoo
  • Chong Wu
  • Holger Kohr
  • Jayanth Koushik
  • Lilian Besson
  • Lv Tao
  • Michael Manukyan
  • Murugesh Marvel
  • Rebecca N. Palmer
  • Zotov Yuriy
  • dareneiri
  • lrast
  • morrme
  • naitonium

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Theano, version 1.0.0rc1
Filename, size File type Python version Upload date Hashes
Filename, size Theano-1.0.0rc1.tar.gz (2.9 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page