We only support the installation of the requirements through conda.
- Python == 2.7* or ( >= 3.4 and < 3.6 )
- The development package (python-dev or python-devel on most Linux distributions) is recommended (see just below). Python 2.4 was supported up to and including the release 0.6. Python 2.6 was supported up to and including the release 0.8.2. Python 3.3 was supported up to and including release 0.9.
- NumPy >= 1.9.1 <= 1.12
- Earlier versions could work, but we don’t test it.
- SciPy >= 0.14 < 0.17.1
- Only currently required for sparse matrix and special functions support, but highly recommended. SciPy >=0.8 could work, but earlier versions have known bugs with sparse matrices.
- BLAS installation (with Level 3 functionality)
- Recommended: MKL, which is free through Conda with
- Alternatively, we suggest to install OpenBLAS, with the development headers (
-devel, depending on your Linux distribution).
g++(Linux and Windows),
- Highly recommended. Theano can fall back on a NumPy-based Python execution model, but a C compiler allows for vastly faster execution.
- nose >= 1.3.0
- Recommended, to run Theano’s test-suite.
- Sphinx >= 0.5.1, pygments
- For building the documentation. LaTeX and dvipng are also necessary for math to show up as images.
- To handle large picture for gif/images.
- NVIDIA CUDA drivers and SDK
- Highly recommended Required for GPU code generation/execution on NVIDIA gpus. See instruction below.
- Required for GPU/CPU code generation on CUDA and OpenCL devices (see: GpuArray Backend).
- pycuda and skcuda
- Required for some extra operations on the GPU like fft and solvers. We use them to wrap cufft and cusolver. Quick install
pip install pycuda scikit-cuda. For cuda 8, the dev version of skcuda (will be released as 0.5.2) is needed for cusolver:
pip install pycuda; pip install git+https://github.com/lebedov/scikit-cuda.git#egg=scikit-cuda.
- Required for Theano CTC implementation. It is faster then using an equivalent graph of Theano ops.
Requirements installation through Conda (recommended)¶
Follow this link to install Miniconda.
If you want fast compiled code (recommended), make sure you have
g++ (Windows/Linux) or
Clang (OS X) installed.
Install requirements and optional packages¶
conda install numpy scipy mkl <nose> <sphinx> <pydot-ng>
- Arguments between <...> are optional.
parameterized is also optional but may be required for unit testing. It is available via
pip install parameterized
Install and configure the GPU drivers (recommended)¶
OpenCL support is still minimal for now.
Install CUDA drivers
- Follow this link to install the CUDA driver and the CUDA Toolkit.
- You must reboot the computer after the driver installation.
- Test that it was loaded correctly after the reboot, executing the command nvidia-smi from the command line.
Sanity check: The bin subfolder should contain an nvcc program. This folder is called the cuda root directory.
- Fix ‘lib’ path
- Add the CUDA ‘lib’ subdirectory (and/or ‘lib64’ subdirectory if you have a
64-bit OS) to your
$LD_LIBRARY_PATHenvironment variable. Example:
- Add the CUDA ‘lib’ subdirectory (and/or ‘lib64’ subdirectory if you have a 64-bit OS) to your