提交 3fcaaf14 authored 作者: Pascal Lamblin's avatar Pascal Lamblin

Merge pull request #2658 from abergeron/doc

Doc update
...@@ -379,32 +379,41 @@ Then in your ``~/.emacs`` file, add this: ...@@ -379,32 +379,41 @@ Then in your ``~/.emacs`` file, add this:
Unit tests Unit tests
---------- ----------
Before submitting a pull request, you should run the unit test suite, When you submit a pull request, your changes will automatically be
and make sure that your changes did not create any new Error or Failure. tested via Travis-CI. This will post the results of the tests with a
You can consult `theano-buildbot`_ for the result of a recent run little icon next to your commit. A yellow circle means the tests are
of the test suite with various options. running. A red X means the tests failed and a green circle means the
tests passed.
Just because the tests run automatically does not mean you shouldn't
run them yourself to make sure everything is all right. You can run
only the portion you are modifying to go faster and have travis to
make sure there are no global impacts.
Also, if you are changing GPU code, travis doesn't test that, because
there are no GPUs on the test nodes.
To run the test suite with the default options, you can follow the To run the test suite with the default options, you can follow the
instructions of :ref:`testing_installation`. instructions of :ref:`testing_installation`.
Each night we execute all the unit tests automatically, with different Each night we execute all the unit tests automatically, with several
sets of options. The result is sent by email to the `theano-buildbot`_ sets of options. The result is sent by email to the `theano-buildbot`_
mailing list. mailing list.
For more detail, see :ref:`metadocumentation_nightly_build`. For more detail, see :ref:`metadocumentation_nightly_build`.
To run all the tests with the same configuration as the buildbot, run this script: To run all the tests with the same configuration as the buildbot, run
this script:
.. code-block:: bash .. code-block:: bash
theano/misc/do_nightly_build theano/misc/do_nightly_build
This function accepts arguments that it forward to nosetests. You can This script accepts arguments that it forwards to nosetests. You can
run only some tests or enable pdb by giving the equivalent nosetests run only some tests or enable pdb by giving the equivalent nosetests
parameters. parameters.
More Advanced Git Usage More Advanced Git Usage
======================= =======================
......
...@@ -81,8 +81,8 @@ installation and configuration, see :ref:`installing Theano <install>`. ...@@ -81,8 +81,8 @@ installation and configuration, see :ref:`installing Theano <install>`.
<a href="https://crate.io/packages/Theano/"><img src="https://pypip.in/d/Theano/badge.png" alt="Number of PyPI downloads" /></a>&nbsp; <a href="https://crate.io/packages/Theano/"><img src="https://pypip.in/d/Theano/badge.png" alt="Number of PyPI downloads" /></a>&nbsp;
.. _available on PyPI: http://pypi.python.org/pypi/Theano .. _available on PyPI: http://pypi.python.org/pypi/Theano
.. _Related Projects: https://github.com/Theano/Theano/wiki/Related-projects .. _Related Projects: https://github.com/Theano/Theano/wiki/Related-projects
Citing Theano Citing Theano
============== ==============
...@@ -95,7 +95,7 @@ required) to cite the following two papers: ...@@ -95,7 +95,7 @@ required) to cite the following two papers:
`"Theano: new features and speed improvements" `"Theano: new features and speed improvements"
<http://arxiv.org/pdf/1211.5590.pdf>`_. <http://arxiv.org/pdf/1211.5590.pdf>`_.
NIPS 2012 deep learning workshop. (`BibTex NIPS 2012 deep learning workshop. (`BibTex
<http://www.iro.umontreal.ca/~lisa/publications2/index.php/export/publication/551/bibtex>`_) <http://www.iro.umontreal.ca/~lisa/publications2/index.php/export/publication/551/bibtex>`__)
* J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R. * J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R.
Pascanu, G. Desjardins, J. Turian, D. Warde-Farley and Y. Pascanu, G. Desjardins, J. Turian, D. Warde-Farley and Y.
...@@ -103,7 +103,7 @@ required) to cite the following two papers: ...@@ -103,7 +103,7 @@ required) to cite the following two papers:
<http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf>`_. <http://www.iro.umontreal.ca/~lisa/pointeurs/theano_scipy2010.pdf>`_.
*Proceedings of the Python for Scientific Computing Conference (SciPy) *Proceedings of the Python for Scientific Computing Conference (SciPy)
2010. June 30 - July 3, Austin, TX* (`BibTeX 2010. June 30 - July 3, Austin, TX* (`BibTeX
<http://www.iro.umontreal.ca/~lisa/publications2/index.php/export/publication/461/bibtex>`_) <http://www.iro.umontreal.ca/~lisa/publications2/index.php/export/publication/461/bibtex>`__)
Theano is primarily developed by academics, and so citations matter a lot to Theano is primarily developed by academics, and so citations matter a lot to
us. As an added benefit, you increase Theano's exposure and potential user us. As an added benefit, you increase Theano's exposure and potential user
...@@ -183,7 +183,6 @@ Community ...@@ -183,7 +183,6 @@ Community
glossary glossary
links links
internal/index internal/index
examples/index
proposals/index proposals/index
acknowledgement acknowledgement
LICENSE LICENSE
......
...@@ -507,81 +507,60 @@ Note that: ...@@ -507,81 +507,60 @@ Note that:
Once your setup is complete, head to :ref:`using_gpu` to find how to verify Once your setup is complete, head to :ref:`using_gpu` to find how to verify
everything is working properly. everything is working properly.
.. note::
There is a compatibility issue affecting some Ubuntu 9.10 users, and probably anyone using
CUDA 2.3 with gcc-4.4. Symptom: errors about "__sync_fetch_and_add" being undefined.
**Solution 1:** make gcc-4.3 the default gcc
(http://pascalg.wordpress.com/2010/01/14/cuda-on-ubuntu-9-10linux-mint-helena/)
**Solution 2:** make another gcc (e.g. gcc-4.3) the default just for nvcc.
Do this by making a directory (e.g. ``$HOME/.theano/nvcc-bindir``) and
installing two symlinks in it: one called gcc pointing to gcc-4.3 (or lower) and one called
g++ pointing to g++-4.3 (or lower). Then add
``compiler_bindir = /path/to/nvcc-bindir`` to the ``[nvcc]`` section of your ``.theanorc``
(`libdoc_config`).
.. _Graphviz: http://www.graphviz.org/Download_windows.php .. _Graphviz: http://www.graphviz.org/Download_windows.php
MacOS Mac OS
----- ------
There are various ways to install Theano dependencies on a Mac. There are various ways to install Theano dependencies on a Mac. Here
Here we describe the process in detail with EPD, Anaconda or with MacPorts, but if you did we describe the process in detail with Canopy, Anaconda, Homebrew or
it differently and it worked, please let us know the details on the MacPorts but if you did it differently and it worked, please let us
`theano-users`_ mailing-list, so that we can add alternate instructions know the details on the `theano-users`_ mailing-list, so that we can
here. add alternate instructions here.
In academia: Enthought Python Distribution (EPD) In academia: Enthought Canopy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are working in academia, the easiest way to install most of the If you are working in academia, the easiest way to install most of the
dependencies is to install dependencies is to install
`Enthought Python Distribution (EPD) <http://enthought.com/products/epd.php>`_. `Canopy <http://enthought.com/products/canopy/>`_.
If you are affiliated with a university (as student or employee), you can If you are affiliated with a university (as student or employee), you
download the installer for free. can download the installer for free.
EPD installation includes in particular Python (and the development headers),
NumPy, SciPy, nose, sphinx, easy_install, pydot (but *not* `Graphviz`_, which is
necessary for it to work) and the MKL implementation of blas. The Mac OS and
Linux version do not include g++.
pip is not included in EPD. After the installation of EPD, The Canopy installation includes in particular Python (and the
you can simply install it with:: development headers), NumPy, SciPy, nose, sphinx, pip, pydot
(but *not* `Graphviz`_, which is necessary for it to work) and the MKL
implementation of blas.
.. code-block:: bash To install the latest Theano release execute this in a terminal:
$ sudo easy_install pip .. code-block:: bash
Then in a terminal execute this command to install the latest Theano release:
.. code-block:: bash
$ sudo pip install Theano $ pip install Theano
If you want the bleeding edge version, `download If you want the bleeding edge version execute this command instead:
and install git <http://git-scm.com/downloads>`_. Then in a
terminal excute this command:
.. code-block:: bash .. code-block:: bash
$ sudo pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git $ pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
See the section `install_bleeding_edge`_ for more See the section `install_bleeding_edge`_ for more
information on the bleeding edge version. information on the bleeding edge version.
Then you must install g++. You can do this by installing XCode. See the first bullet in the :ref:`macports` section. Then you must install the compiler. See :ref:`compiler_osx` below.
.. note:: .. note::
If you use the trunk or version 0.6 or later of Theano, we try to If you use version 0.6 or later of Theano, we try to automatically
automatically link with the EPD blas version. Due to Mac OS link with the Canopy blas version. Due to Mac OS peculiarities,
peculiarities, we need a user intervention to do it. We detect this requires user intervention. We detect if the manipulation was
if the user did the modification and if not, we tell him how to do done or not and give an error message explaining what to do in case
it. it hasn't been done.
Anaconda 1.5 Anaconda
~~~~~~~~~~~~ ~~~~~~~~
An easy way to install most of the dependencies is to install An easy way to install most of the dependencies is to install
`Anaconda <http://continuum.io/downloads.html>`_. There is a free `Anaconda <http://continuum.io/downloads.html>`_. There is a free
...@@ -590,45 +569,92 @@ Optimizations`` product (free for academic, ~30$ otherwise) Theano ...@@ -590,45 +569,92 @@ Optimizations`` product (free for academic, ~30$ otherwise) Theano
will also be optimized as we will reuse the faster BLAS version will also be optimized as we will reuse the faster BLAS version
automatically. automatically.
Anaconda installation includes in particular Python (and the development headers), The Anaconda installation includes in particular Python (and the
NumPy, SciPy, nose, sphinx, pip, and a acceptable BLAS version. The Mac OS and development headers), NumPy, SciPy, nose, sphinx, pip, and a
Linux version do not include g++. acceptable BLAS version.
After installing Anaconda, in a terminal execute this command to After installing Anaconda, in a terminal execute this command to
install the latest Theano release: install the latest Theano release:
.. code-block:: bash .. code-block:: bash
$ pip install Theano $ pip install Theano
To install the missing Theano optional dependency (pydot): To install the missing Theano optional dependency (pydot):
.. code-block:: bash .. code-block:: bash
$ conda install pydot $ conda install pydot
If you want the bleeding edge version, `download If you want the bleeding edge version instead execute this command:
and install git <http://git-scm.com/downloads>`_. Then in a
terminal execute this command:
.. code-block:: bash .. code-block:: bash
$ sudo pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git $ pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
See the section `install_bleeding_edge`_ for more See the section `install_bleeding_edge`_ for more
information on the bleeding edge version. information on the bleeding edge version.
Then you must install g++. You can do this by installing XCode. See the first bullet in the :ref:`macports` section. Then you must install the compiler. See :ref:`compiler_osx` below.
.. note:: .. note::
If you use the trunk or a version after 0.6rc3 of Theano, we try to If you use version 0.6 or later of Theano, we try to automatically
automatically link with the python library. Due to Mac OS link with the python library. Due to Mac OS peculiarities, this
peculiarities, we need a user intervention to do it. We detect requires user intervention. We detect if the user did the
if the user did the modification and if not, we tell him how to do modification and if not, we tell him how to do it.
it.
.. _compiler_osx:
Installing the compiler
~~~~~~~~~~~~~~~~~~~~~~~
Theano officially supports only clang on OS X. This can be installed
by getting XCode from the App Store and running it once to install the
command-line tools.
If you still want to use g++ you can do so by setting its full path in
the theano config flag `gxx`. Note that any bug reports on Mac using
g++ will be ignored unless it can be reproduced with clang.
Homebrew
~~~~~~~~
Install python with homebrew:
.. code-block:: bash
$ brew install python # or python3 if you prefer
This will install pip. Then use pip to install numpy, scipy:
.. code-block:: bash
$ pip install numpy scipy
If you want to use openblas instead of Accelerate, you have to install
numpy and scipy with hombrew:
.. code-block:: bash
$ brew tap homebrew/python
$ brew install numpy --with-openblas
$ brew install scipy --with-openblas
Then install theano as usual:
.. code-block:: bash
$ pip install Theano --user
Or for the bleeding-edge version:
.. code-block:: bash
$ pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
.. _macports:
MacPorts MacPorts
~~~~~~~~ ~~~~~~~~
...@@ -723,14 +749,6 @@ Theano dependencies is easy, but be aware that it will take a long time ...@@ -723,14 +749,6 @@ Theano dependencies is easy, but be aware that it will take a long time
$ python -c "import theano; theano.test()" $ python -c "import theano; theano.test()"
Homebrew
~~~~~~~~
There are some `instructions
<https://github.com/samueljohn/homebrew-python>`__ by Samuel John on how to install
Theano dependencies with Homebrew instead of MacPort.
.. _gpu_macos: .. _gpu_macos:
Using the GPU Using the GPU
......
...@@ -12,6 +12,5 @@ Advanced Topics (under construction) ...@@ -12,6 +12,5 @@ Advanced Topics (under construction)
compilation compilation
ccodegen ccodegen
function function
module
debugging_with_stepmode debugging_with_stepmode
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论