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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.