
Welcome
=======

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** -- Use `numpy.ndarray` in Theano-compiled functions.
* **transparent use of a GPU** -- Perform data-intensive calculations up to 140x faster than with CPU.(float32 only)
* **efficient symbolic differentiation** -- Theano does your derivatives for function with one or many inputs.
* **speed and stability optimizations** -- Get the right answer for ``log(1+x)`` even when ``x`` is really tiny.
* **dynamic C code generation** -- Evaluate expressions faster.
* **extensive unit-testing and self-verification** -- Detect and diagnose many types of mistake.

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

Download
========

Theano is now `available on PyPI`_, and can be installed via ``easy_install
Theano``, or by downloading and unpacking the tarball and typing ``python
setup.py install``.

Those interested in bleeding-edge features should obtain the latest development 
version, available via::

    hg clone http://hg.assembla.com/theano Theano

You can then place the checkout directory on your ``$PYTHONPATH`` or use
``python setup.py develop`` to install a ``.pth`` into your ``site-packages``
directory, so that when you pull updates via Mercurial they will be
automatically reflected the "installed" version. For more information about
installation and configuration, see :ref:`installing Theano <install>`.

.. _available on PyPI: http://pypi.python.org/pypi/Theano

Documentation
=============

Roughly in order of what you'll want to check out:

* :ref:`install` -- How to install Theano.
* :ref:`introduction` -- What is Theano?
* :ref:`tutorial` -- Learn the basics.
* :ref:`libdoc` -- Theano's functionality, module by module.
* :ref:`optimizations` -- Guide to Theano's graph optimizations.
* :ref:`extending` -- Learn to add a Type, Op, or graph optimization.
* :ref:`internal` -- How to maintaining Theano, LISA-specific tips, and more...
* :ref:`release` -- How our release should work.

You can download the latest `PDF documentation <http://deeplearning.net/software/theano/theano.pdf>`_, rather than reading it online.

Check out how Theano can be used for Machine Learning: `Deep Learning Tutorials <http://www.deeplearning.net/tutorial>`_.

Theano was featured at `SciPy 2010 <http://www.iro.umontreal.ca/~lisa/publications2/index.php/publications/show/461>`_.

Community
=========

    "Thank YOU for correcting it so quickly. I wish all packages I worked
    with would have such an active maintenance - this is as good as it
    gets :-)" 

    (theano-users, Aug 2, 2010)


* Register and post to `theano-users`_ if you want to talk to all Theano users.

* Register and post to `theano-dev`_ if you want to talk to the developers.

* Register and post to `theano-announce`_ if you want to be keep informed on important change on theano(low volume).

* Register and post to `theano-buildbot`_ if you want to receive our daily buildbot email.

* Ask/view questions/answers at `metaoptimize/qa/tags/theano/`_ (it's like stack overflow for machine learning)

* We try to stay organized with `Theano's Trac <http://trac-hg.assembla.com/theano/report/1>`__ 

* Come visit us in Montreal!  Most of the developers are students in the LISA_ group at the `University of Montreal`_.

.. toctree::
   :maxdepth: 1
   :hidden:

   NEWS
   introduction
   install
   tutorial/index
   library/index
   optimizations
   extending/index
   glossary
   links
   internal/index
   examples/index
   proposals/index
   LICENSE


.. _theano-dev: http://groups.google.com/group/theano-dev
.. _theano-users: http://groups.google.com/group/theano-users
.. _theano-announce: http://groups.google.com/group/theano-announce
.. _theano-buildbot: http://groups.google.com/group/theano-buildbot
.. _tickets: http://pylearn.org/theano/trac/query?status=accepted&status=assigned&status=new&status=reopened&group=milestone&max=200&col=id&col=summary&col=status&col=owner&col=type&col=priority&col=component&col=time&report=9&order=priority

.. _metaoptimize/qa/tags/theano: http://metaoptimize.com/qa/tags/theano/

.. _LISA: http://www.iro.umontreal.ca/~lisa
.. _University of Montreal: http://www.umontreal.ca

