この記事は古いです。最新版は、こちらの記事を参照して下さい。いずれこの記事は消します
Chainer 1.5になってからインストールが若干面倒になり、失敗しやすくなりました。ここでは、Amazon EC2にChainerを簡単に入れる方法を解説します。
CUDAとドライバのインストールが面倒なので、nVidia公式の "Amazon Linux AMI with NVIDIA GRID GPU Driver" を使います。起動して、ログインしたら、以下のコマンドを実行して下さい。
$ sudo yum-config-manager --enable epel
$ sudo yum install -y hdf5-devel
$ sudo CUDA_PATH=/opt/nvidia/cuda pip install chainer
3行の内訳は以下のとおりです。
- hdf5をインストールするために、EPELをenableにする
- hdf5をインストールする
- Chainerをインストールする
試してみましょう。CUDA対応を確認するには、CuPyが正しくインストールされているか確認すればOKです。import cupy
できれば、インストールが完了しています。ちなみに、numpyやcythonなど、重たいライブラリがあるので時間がかかります。
$ python
Python 2.7.10 (default, Aug 11 2015, 23:39:10)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cupy
>>>
解説
Chainer 1.5から、save/loadの機能が追加されました。この機能のために、h5pyというライブラリを使っていますが、これはlibhdf5をラップしています。libhdf5はPythonのライブラリではないので、pipではインストール出来ません。libhdf5は、EPELリポジトリに含まれているため、まずこれをenableにしてからインストールする必要があります(ここまで2行)。
最後に、nVidia公式のAMIでは、CUDAは /opt/nvidia/cuda
にあります。これを環境変数 CUDA_PATH
でインストール時に渡してあげると、インストールできます。本当はnvccコマンドの場所から逆算するのですが、 sudoでインストールしようとするとPATH環境変数をクリア してしまうのでこうしています。
参考
- @slaさんの記事 がありますが、これはv1.1のときの古い記事です(PyCUDAの時代)
- bohemian916さんの記事も参考になります。こちらはhdf5をソースから入れています
- その他、v1.5以降のインストール周りの問題は以前の投稿を参照下さい