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.0beta2 (7th 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:
  • Support NumPy 1.13

  • Support pygpu 0.7

  • Added conda recipe

  • Optional faster optimization step with new destroy handler

  • Added documentation for RNNBlock

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

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

Interface changes:
  • Added new parameter target for MRG functions

Convolution updates:
  • Added unshared convolutions

  • Added 3D separable convolutions

  • Added 3D grouped convolutions

  • Removed old conv3d interface

  • Deprecated old conv2d interface

  • Updated conv documentation

GPU:
  • Added a meta-optimizer to select the fastest GPU implementations for convolutions

  • cuDNN:

    • Official support for v6.* and v7.*, support for v5.* will be removed in next release

    • Added spatial transformation operation based on cuDNN

    • Updated and improved caching system for runtime-chosen cuDNN convolution algorithms

    • Support cuDNN v7 tensor core operations for convolutions with runtime timed algorithms

    • Restricted cuDNN reductions to contiguous inputs

    • Automatic addition of cuDNN DLL path to PATH environment variable on Windows

New features:
  • Added tensor6() and tensor7() in theano.tensor module

  • Added boolean indexing for sub-tensors

  • Added covariance matrix function theano.tensor.cov

  • Added new Theano flag pickle_test_value to help disable pickling test values

Others:
  • Kept stack trace for optimizations in new GPU backend

Other more detailed changes:
  • Moved all C code files into separate folder c_code in every Theano module

  • Improvements for Jenkins tests

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

  • Gijs van Tulder

  • Thomas George

  • Vikram

  • 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

  • vipulraheja

  • Florian Bordes

  • Sina Honari

  • Yikang Shen

  • 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

  • Xavier Bouthillier

  • fo40225

  • 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

  • wyjw

Project details


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.0b2.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