Projects / Theano


Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. Theano features tight integration with numpy, transparent use of a GPU, efficient symbolic differentiation, speed and stability optimizations, dynamic C code generation, and extensive unit-testing and self-verification. Theano has been powering large-scale computationally intensive scientific investigations since 2007. But it is also approachable enough to be used in the classroom (IFT6266 at the University of Montreal).

Operating Systems

Recent releases

  •  04 Dec 2013 15:49

    Release Notes: Fixes for bugs and crashes. CPU and GPU speed up. Python 3.3 compatibility. Better sparse support. Full advanced indexing support. Better Windows support. A SymPy/Theano bridge. Support for more NumPy syntax.

    •  23 Feb 2012 22:01

      Release Notes: This major release brings better performances for dot product and other operations, experimental support for GPU under Windows, and new features and better support for sparse matrices. The behavior of some operations is now closer to NumPy's, and deprecated features were removed. This release fixes bugs in Scan and other modules and adds a lot of new functionality.

      •  12 Aug 2011 19:58

        Release Notes: This release added an R_op macro, scans that work with a "do while" loop style, a new BLAS GER implementation, and a new ifelse operation. GEMV is inserted more frequently. {Inc,Set}Subtensor and Subtensor were optimized. There were many scan optimizations. A PyCUDA/CUDAMat/Gnumpy/Theano GPU object bridge was added. A few bugs and many crashes were fixed.

        •  16 Jul 2011 04:39

          Release Notes: The contract for memory storage of Ops has been changed. You might need to clear the compilation cache, since the mechanism has been updated. Dividing integers with / is now deprecated. Use // for integer division, or cast one of the integers to a float type. There is a new way to test the graph as it is being built, allowing you to easily find the source of shape mismatch errors.

          •  25 Feb 2011 17:08

            Release Notes: A GPU bug with empty ndarrays, a bug in scan when taking the gradient and changing the number of steps, and many crashes were fixed. gemv is now faster. GpuElemwise is now fused more often. cuda_shared.value = X now works in place. Sparse dots now work when both matrices are sparse. The shape of a Sparse matrix can now be taken. New 3D convolution operations were implemented. Optimizations were made.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.