Installation¶
Setup¶
Anaconda¶
A comfortable way to setup a python environment with common scientific python packages is the Anaconda distribution by Continuum (make sure to use the Python 2.7 version). If you don’t want to install the whole Anaconda distribution you can use Miniconda instead.
Install ELEKTRONN using
conda
(via conda-forge):conda config --add channels conda-forge conda install elektronn
Note
This resolves all dependencies, but you still need to configure theano (which will be installed as a dependency) as described below
After installation you can optionally create a user configuration file by editing the file
examples/config_template.py
and put it into your home directory aselektronn.config
(see Configuration of Parameters)Try out one of the examples to confirm everything works
pip¶
If you don’t want to use Anaconda you can use pip
instead. Then you must take care of the dependencies yourself to some degree:
Install ELEKTRONN using python
pip
(options can specify target locations, editable installs etc., seepython2 -m pip help install
):python2 -m pip install [options] elektronn
If you want to install ELEKTRONN from source (or the sdist from PyPI), you should install Cython first. For example in Ubuntu:
sudo apt install cython
The full dependencies are listed in the file
requirements.txt
Note
If
python2 -m pip install <package>
fails due to a permission error, trypython2 -m pip install --user <package>
.
- Configure theano as explained below
- After installation you can optionally create a user configuration file by editing the file
examples/config_template.py
and putting it into your home aselektronn.config
(see Configuration of Parameters) - Try out one of the examples to confirm everything works
Theano¶
If you let our setup install theano, you nonetheless have to do the configuration steps below and install CUDA to use the GPU (more details at theano’s installation instructions):
Install Nvidia’s CUDA toolkit, e.g.
apt-get install nvidia-cuda-toolkit
or manually from the Nvidia website. The next two points assume for illustration purpose that you have installed the toolkit in the path/usr/local/cuda-7.5
.Set the paths to the toolkit, e.g. by adding to you
.bashrc
-file:export PATH=/usr/local/cuda-7.5/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATHConfigure your
.theanorc
-file. E.g. create a new file named~/.theanorc
and put the following into it:[global] floatX = float32 device = gpu # or gpu0, gpu1,... exception_verbosity=high linker = cvm_nogc [nvcc] fastmath = True [cuda] root = /usr/local/cuda-7.5/Note
- If you want to use the command line option of
elektronn-train
to select a GPU device you can leave out setting a device value here- The linker option disables garbage collection. This increases GPU-RAM usage but gives a significant performance boost. If you run out of GPU-RAM, remove this option (or set it to
cvm
).You might be interested into using cuDNN which is an optimised CUDA library for CNNs (theano’s instructions).