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 0.10.0beta3 (20th of September, 2017)

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

We recommend that every developer updates to this version.

Highlights:
  • conda packages now available and updated in our own conda channel mila-udem. To install it: conda install -c mila-udem/label/pre theano pygpu

  • Improved elemwise operations

    • Speed-up elemwise ops based on SciPy

    • Fixed memory leak related to elemwise ops on GPU

  • Improved pickling and tests in debug mode

  • Fixed pygpu detection

  • Bug fixes, crash fixes, warning improvements and documentation updates

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

Interface changes:
  • Removed op ExtractDiag from theano.tensor.nlinalg, now only in theano.tensor.basic

Convolution updates:
  • Added dilated causal convolutions for 2D

New features:
  • Added unravel_index and ravel_multi_index functions on CPU

  • Implemented max() and min() functions for booleans and unsigned integers types

Others:
  • Added R_op() for ZeroGrad

  • Added description for rnnblock

Commiters since 0.9.0:
  • Frederic Bastien

  • João Victor Tozatti Risso

  • Arnaud Bergeron

  • Steven Bocco

  • Mohammed Affan

  • amrithasuresh

  • Pascal Lamblin

  • Reyhane Askari

  • Alexander Matyasko

  • Simon Lefrancois

  • Shawn Tan

  • Vikram

  • Gijs van Tulder

  • Thomas George

  • Andrei Costinescu

  • Faruk Ahmed

  • 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

  • erakra

  • 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

  • wyjw

  • Aarni Koskela

  • Adam Becker

  • Adam Geitgey

  • Adrian Keet

  • Adrian Seyboldt

  • Anmol Sahoo

  • Chong Wu

  • Holger Kohr

  • Jayanth Koushik

  • Lilian Besson

  • Lv Tao

  • Michael Manukyan

  • Murugesh Marvel

  • NALEPA

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

Source Distribution

Theano-0.10.0beta3.tar.gz (2.8 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page