インストールガイド

Chainerをインストールする前に

以下のプラットフォームを推奨します。

Chainerは、Python 2.7.6+、3.4.3+、3.5.1+でサポートされています。Chainerは、g++などのC++コンパイラを使用するので、Chainerをインストールする前にこれらをインストールする必要があります。以下は各プラットフォームの一般的なインストール方法です。:

# Ubuntu 14.04
$ apt-get install g++

# CentOS 7
$ yum install gcc-c++

古い setuptools を使用している場合はアップグレードしてください:

$ pip install -U setuptools

Chainerをインストール

Chainerは以下のPythonパッケージに依存しています:

CUDA support

cuDNN support

  • cuDNN v2, v3, v4, v5, v5.1

Caffe model support

これらのライブラリはすべて pip または setup.py で自動的にインストールされます。

画像データセットはオプションです。

HDF5シリアル化はオプションです。

pipを使ってChainerをインストール

pipを使用してChainerをインストールすることを推奨します。:

$ pip install chainer

ソースからChainerをインストール

setup.py を使用してソースからChainerをインストールすることができます:

$ tar zxf chainer-x.x.x.tar.gz
$ cd chainer-x.x.x
$ python setup.py install

エラーが発生したとき

pip コマンドで -vvvv オプションを使用するとインストールのすべてのログが表示されます。ログはエラー解決の手がかりになるかもしれません:

$ pip install chainer -vvvv

CUDAでChainerをインストール

Chainerをインストールする前に、CUDA Toolkitをインストールする必要があります。CUDAをデフォルトのディレクトリに置くか、 CUDA_PATH を正しく設定すると、Chainerインストーラは自動的にCUDAを見つけます。

$ pip install chainer

注釈

Chainerインストーラは、まず CUDA_PATH 環境変数を検索します。見つからない場合、インストーラは PATH 環境変数から nvcc コマンドを探し、その親ディレクトリをCUDAインストールのルートディレクトリとして使用します。nvcc コマンドも見つからない場合、インストーラはUbuntuの /usr/local/cuda のデフォルトディレクトリを使用しようとします。

デフォルト以外のディレクトリにCUDAをインストールした場合は、CUDA_PATH 環境変数でディレクトリを指定する必要があります。

$ CUDA_PATH=/opt/nvidia/cuda pip install chainer

警告

sudo を使ってChainerをインストールする場合、sudo コマンドはすべての環境変数を初期化することに注意してください。以下のように、sudo の中に CUDA_PATH 環境変数を指定してください:

$ sudo CUDA_PATH=/opt/nvidia/cuda pip install chainer

CUDAとcuDNNでChainerをインストール

cuDNNは、NVIDIAが提供するディープニューラルネットワークのライブラリです。ChainerはcuDNNを使用できます。cuDNNを有効にする場合は、ChainDNをインストールする前にcuDNNとCUDAをインストールしてください。cuDNNをCUDAディレクトリにインストールすることを推奨します。例えば、Ubuntu Linuxを使用している場合は、.h ファイルを include``ディレクトリにコピーして、.so`` ファイルを lib64 ディレクトリにコピーします。:

$ cp /path/to/cudnn.h $CUDA_PATH/include
$ cp /path/to/libcudnn.so* $CUDA_PATH/lib64

ディレクトリは環境によって異なります。

他のディレクトリにインストールされているcuDNNを使いたい場合は、Chainerをインストールする前に CFLAGSLDFLAGSLD_LIBRARY_PATH の環境変数を使用してください:

export CFLAGS=-I/path/to/cudnn/include
export LDFLAGS=-L/path/to/cudnn/lib
export LD_LIBRARY_PATH=/path/to/cudnn/lib:$LD_LIBRARY_PATH

開発者向けChainerのインストール

ChainerはCython(>=0.24)を使用します。開発者は pyx ファイルからC++のソースを再生成するためにCythonを使用する必要があります。編集可能モードでは、 -e オプション付きの pip を使用することを推奨します。

$ pip install -U cython
$ cd /path/to/chainer/source
$ pip install -e .

Chainerの配布パッケージには生成されたソースのみが含まれているため、Cythonをインストールする必要はありません。

画像データセットをサポート

画像データセットを有効にするためPillowを手動でインストールして下さい。この機能はオプションです。:

$ pip install pillow

HDF5のシリアル化をサポート

HDF5シリアル化を有効にするためh5pyを手動でインストールして下さい。この機能はオプションです。:

$ pip install h5py

h5pyをインストールする前に、libhdf5をインストールする必要があります。環境によって異なります:

# Ubuntu 14.04
$ apt-get install libhdf5-dev

# CentOS 7
$ yum -y install epel-release
$ yum install hdf5-devel

Chainerのアンインストール

pipを使用してChainerをアンインストールします。

$ pip uninstall chainer

注釈

Chainerをアップグレードするとき、 pip はときどきsite-packagesに様々なバージョンのChainerをインストールしました。pip がエラーを返すまで、繰り返しアンインストールしてください。

Chainerのアップグレード

-U オプション付きの pip を使うだけです:

$ pip install -U chainer

Chainerの再インストール

Chainerを再インストールする場合は、Chainerをアンインストールしてからインストールしてください。pip がcacheを使うことがあるので --no-cache-dir オプションを使うことを推奨します:

$ pip uninstall chainer
$ pip install chainer --no-cache-dir

CUDAを使わずにChainerをインストールして、その後CUDAを使用したい場合は、Chainerを再インストールしてください。 CUDAをアップグレードしたいときは、Chainerを再インストールする必要があります。

DockerでChainerを実行

Chainerは公式のDockerイメージを提供しています。GPUを使用してChainerイメージを実行するには、 nvidia-docker コマンドを使用します。bashを使って環境にログインし、Pythonインタプリタを実行することができます:

$ nvidia-docker run -it chainer/chainer /bin/bash

あるいは、インタープリタを直接実行してください:

$ nvidia-docker run -it chainer/chainer /usr/bin/python

“推奨する”とはどういう意味ですか?

私たちはJenkinsで自動的にChainerをテストします。サポートされているすべての環境は、この環境でテストされます。Chainerが他の環境で動作することは保証できません。

FAQ

インストーラは “hdf5.hが見つかりません”と言います

あなたはlibhdf5を持っていません。hdf5をインストールしてください。Chainerをインストールする前に を参照してください。

MemoryErrorが発生する

Cythonのインストールに失敗した可能性があります。手動でインストールしてください。エラーが発生したとき を参照してください。

例が “cuDNNが有効になっていません”と言います

あなたはcuDNNでChainerを構築できませんでした。cuDNNが必要ない場合は、このメッセージを無視してください。それ以外の場合は、cuDNNを使用してChainerをインストールしなおしてください。-vvvv オプションが役立ちます。CUDAとcuDNNでChainerをインストール を参照してください。