A branch of the chainer deep learning framework oriented to perform tasks related to deconvolutional neural networks. It has a frontend for semantic segmentation, including FCN
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


pypi pypi GitHub license travis coveralls Read the Docs

Chainer: a neural network framework


Chainer is tested on Ubuntu 14.04 and CentOS 7. We recommend them to use Chainer, though it may run on other systems as well.

Minimum requirements:

  • Python 2.7.6+, 3.4.3+, 3.5.1+
  • NumPy 1.9, 1.10, 1.11
  • Six 1.9

Requirements for some features:

  • CUDA support
    • CUDA 6.5, 7.0, 7.5
    • filelock
    • g++ 4.8.4+
  • cuDNN support
    • cuDNN v2, v3, v4, v5
  • Caffe model support
    • Protocol Buffers (pip install protobuf)
      • protobuf>=3.0.0 is required for Py3
  • HDF5 serialization support
    • h5py 2.5.0
  • Testing utilities
    • Mock
    • Nose


Minimum installation

If you use old setuptools, upgrade it:

pip install -U setuptools

Then, install Chainer via PyPI:

pip install chainer

You can also install Chainer from the source code:

python setup.py install

Installation with CUDA

If you want to enable CUDA, first you have to install CUDA and set the environment variable PATH and LD_LIBRARY_PATH for CUDA executables and libraries. For example, if you are using Ubuntu and CUDA is installed by the official distribution, then CUDA is installed at /usr/local/cuda. In this case, you have to add the following lines to .bashrc or .zshrc (choose which you are using):

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Chainer had chainer-cuda-deps module to enable CUDA in previous version. Recent version (>=1.3) does not require this module. So you do not have to install chainer-cuda-deps.

If you want to enable cuDNN, add a directory containing cudnn.h to CPATH, and add a directory containing libcudnn.so to LIBRARY_PATH and LD_LIBRARY_PATH:

export CPATH=/path/to/cudnn/include:$CPATH
export LIBRARY_PATH=/path/to/cudnn/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/path/to/cudnn/lib:$LD_LIBRARY_PATH

Do not forget to restart your terminal session (or source it) to enable these changes. And then, reinstall Chainer.

HDF5 Support

If you want to use HDF5 serialization, please install h5py manually. h5py requires libhdf5. Anaconda distribution includes this package. If you are using another Python distribution, use either of the following commands to install libhdf5 depending on your Linux environment:

apt-get install libhdf5-dev
yum install hdf5-devel

And then, install h5py via PyPI. You may need to install Cython for h5py.

pip install cython
pip install h5py


Tokui, S., Oono, K., Hido, S. and Clayton, J., Chainer: a Next-Generation Open Source Framework for Deep Learning, Proceedings of Workshop on Machine Learning Systems(LearningSys) in The Twenty-ninth Annual Conference on Neural Information Processing Systems (NIPS), (2015) URL, BibTex

More information


MIT License (see LICENSE file).