============================
 Announcing Theano 0.9.0rc1
============================

This is a release candidate for a major version, with lots of new
features, bug fixes, and some interface changes (deprecated or
potentially misleading features were removed).

The upgrade is recommended for developers who want to help test and
report bugs, or want to use new features now.  If you have updated
to 0.9.0b1, you are highly encouraged to update to 0.9.0rc1.

For those using the bleeding edge version in the
git repository, we encourage you to update to the `rel-0.9.0rc1` tag.


What's New
----------

Highlights:
 - Better integration of Theano+libgpuarray packages into conda distribution
 - Better handling of Windows end-lines into C codes
 - Better compatibility with NumPy 1.12
 - Faster scan optimizations
 - Fixed broadcast checking in scan
 - Bug fixes related to merge optimizer and shape inference
 - many other bug fixes and improvements
 - Updated documentation
 - Many computation and compilation speed up
 - More numerical stability by default for some graph
 - Jenkins (gpu tests run on PR in addition to daily buildbot)
 - Better handling of corner cases for theano functions and graph
optimizations
 - More graph optimization (faster execution and smaller graph, so more
readable)
 - Less c code compilation
 - Better Python 3.5 support
 - Support newer Mac and Windows version
 - Conda packages for Mac, Linux and Windows
 - Theano scripts now works on Windows
 - scan with checkpoint (trade off between speed and memory usage, useful
for long sequences)
 - Added a bool dtype

 - New GPU back-end:

   - Value of a shared variable is now set inplace
   - float16 storage
   - better mapping between theano device number and nvidia-smi number,
using the PCI bus ID of graphic cards
   - More pooling support on GPU when cuDNN isn't there
   - ignore_border=False is now implemented for pooling

Interface changes:
 - In MRG, replaced method `multinomial_wo_replacement()` with new method
`choice()`
 - New pooling interface
 - Pooling parameters can change at run time
 - When converting empty list/tuple, now we use floatX dtype
 - The MRG random generator now try to infer the broadcast pattern of its
output
 - Move softsign out of sandbox to theano.tensor.nnet.softsign
 - Roll make the shift be modulo the size of the axis we roll on
 - Merge CumsumOp/CumprodOp into CumOp
 - round() default to the same as NumPy: half_to_even

Convolution updates:
 - Implement conv2d_transpose convenience function
 - Multi-cores convolution and pooling on CPU
 - New abstract 3d convolution interface similar to the 2d convolution
interface
 - Dilated convolution


GPU:
 - GPUMultinomialFromUniform op now supports multiple dtypes
 - cuDNN: support versoin 5.1 and wrap batch normalization (2d and 3d) and
RNN functions
 - Multiple-GPU, synchrone update (via platoon, use NCCL)
 - GpuAdvancedSubtensor in new back-end
 - Gemv(matrix-vector product) speed up for special shape
 - Support for MaxAndArgMax for some axis combination
 - Support for solve (using cusolver), erfinv and erfcinv
 - cublas gemv workaround when we reduce on an axis with a dimensions size
of 0
 - Warn user that some cuDNN algorithms may produce unexpected results in
certain environments
   for convolution backward filter operations

New features:
 - OpFromGraph now allows gradient overriding for every input
 - Added Abstract Ops for batch normalization that use cuDNN when available
and pure Theano CPU/GPU alternatives otherwise
 - Added new Theano flag cuda.enabled
 - Added new Theano flag print_global_stats to print some global statistics
(time spent) at the end
 - Add gradient of solve, tensorinv (CPU), tensorsolve (CPU) searchsorted
(CPU)
 - Add Multinomial Without Replacement
 - conv3d2d support full and half mode (REMOVE?)
 - Add DownsampleFactorMaxGradGrad.grad
 - Allow partial evaluation of compiled function
 - More Rop support
 - Indexing support ellipsis: a[..., 3], a[1,...,3]
 - Added theano.tensor.{tensor5,dtensor5, ...}
 - compiledir_format support device
 - Added new Theano flag cmodule.age_thresh_use


Others:
 - Split op now has C code for CPU and GPU
 - "theano-cache list" now includes compilation times
 - Speed up argmax only on gpu (without also needing the max)
 - A few unfrequent bugfix
 - More stack trace in error message
 - Speed up cholesky grad
 - log(sum(exp(...))) now get stability optimized


Other more detailed changes:
 - Allow more then one output to be an destructive inplace
 - Add flag profiling.ignore_first_call, useful to profile the new gpu
back-end
 - Doc/error message fixes/updates
 - More support of negative axis
 - Added the keepdims parameter to the norm function
 - Crash fixes
 - Make scan gradient more deterministic
 - Add support for space in path on Windows
 - remove ProfileMode (use Theano flag profile=True instead)


Download and Install
--------------------

You can download Theano from http://pypi.python.org/pypi/Theano

Installation instructions are available at
http://deeplearning.net/software/theano/install.html

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

Resources
---------

About Theano:

http://deeplearning.net/software/theano/

Theano-related projects:

http://github.com/Theano/Theano/wiki/Related-projects

About NumPy:

http://numpy.scipy.org/

About SciPy:

http://www.scipy.org/

Machine Learning Tutorial with Theano on Deep Architectures:

http://deeplearning.net/tutorial/

Acknowledgments
---------------

I would like to thank all contributors of Theano. For this particular
release, many people have helped, notably (in alphabetical order):

 - affanv14
 - Alexander Matyasko
 - Alexandre de Brebisson
 - Amjad Almahairi
 - Andrés Gottlieb
 - Anton Chechetka
 - Arnaud Bergeron
 - Benjamin Scellier
 - Ben Poole
 - Bhavishya Pohani
 - Bryn Keller
 - Caglar
 - Carl Thomé
 - Cesar Laurent
 - Chiheb Trabelsi
 - Chinnadhurai Sankar
 - Christos Tsirigotis
 - Ciyong Chen
 - Dimitar Dimitrov
 - Evelyn Mitchell
 - Fábio Perez
 - Faruk Ahmed
 - Fei Wang
 - Fei Zhan
 - Francesco Visin
 - Frederic Bastien
 - Fuchai
 - Gennadiy Tupitsin
 - Gijs van Tulder
 - Gilles Louppe
 - Gokula Krishnan
 - Greg Ciccarelli
 - gw0 [http://gw.tnode.com/]
 - happygds
 - Harm de Vries
 - He
 - hexahedria
 - hsintone
 - Huan Zhang
 - Ilya Kulikov
 - Iulian Vlad Serban
 - jakirkham
 - Jakub Sygnowski
 - Jan Schlüter
 - Jesse Livezey
 - Jonas Degrave
 - joncrall
 - Kaixhin
 - Karthik Karanth
 - Kelvin Xu
 - Kevin Keraudren
 - khaotik
 - Kirill Bobyrev
 - Kumar Krishna Agrawal
 - Kv Manohar
 - Liwei Cai
 - Maltimore
 - Marc-Alexandre Cote
 - Marco
 - Marius F. Killinger
 - Mathieu Germain
 - Matt Graham
 - Maxim Kochurov
 - Mikhail Korobov
 - mockingjamie
 - Mohammad Pezeshki
 - Morgan Stuart
 - Nan Rosemary Ke
 - Neil
 - Nicolas Ballas
 - Nizar Assaf
 - Olivier Mastropietro
 - Ozan Çağlayan
 - p
 - Pascal Lamblin
 - Pierre Luc Carrier
 - RadhikaG
 - Ramana Subramanyam
 - Ray Donnelly
 - Rebecca N. Palmer
 - Reyhane Askari
 - Rithesh Kumar
 - Rizky Luthfianto
 - Robin Millette
 - Roman Ring
 - root
 - Ruslana Makovetsky
 - Saizheng Zhang
 - Samira Ebrahimi Kahou
 - Samira Shabanian
 - Sander Dieleman
 - Sebastin Santy
 - Shawn Tan
 - Simon Lefrancois
 - Sina Honari
 - Steven Bocco
 - superantichrist
 - Taesup (TS) Kim
 - texot
 - theano-bot
 - Thomas George
 - tillahoffmann
 - Tim Cooijmans
 - Tim Gasper
 - valtron
 - Vincent Dumoulin
 - Vincent Michalski
 - Vitaliy Kurlin
 - Wazeer Zulfikar
 - wazeerzulfikar
 - Wojciech Głogowski
 - Xavier Bouthillier
 - Yang Zhang
 - Yann N. Dauphin
 - Yaroslav Ganin
 - Ying Zhang
 - you-n-g
 - Zhouhan LIN

Also, thank you to all NumPy and Scipy developers as Theano builds on
their strengths.

All questions/comments are always welcome on the Theano
mailing-lists ( http://deeplearning.net/software/theano/#community )

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to theano-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to