はじめに
ubuntuで学習を回すために、3回に渡ってubuntuでグラボのドライバをインストールするまでを行いました。
2018年5月更新
cupyのインストール
まずはcupyをインストールします。
cupyはchainer内部で使われている、numpy-likeなGPUを利用した高速演算ライブラリです。
個人的にはchainerより重宝しています。
cuDNNのインストール
cupyのインストールページに、環境別に詳しく載っていますが、私での環境である、cuDNNを用いるインストール手法を書いておきたいと思います。
といっても以前と異なって、これらを自分でやる必要はなくなりました。
プリコンパイルされたWheelsを利用することですでにcuDNNも入っているそうなので、わざわざ自分で色々やる必要はないそうです。
私の環境ではCUDA9.0なので(“$ nvcc -V”で確認)、以下をするだけです。
$ pip install -U setuptools pip $ pip install cupy-cuda90
chainerのインストール
$ pip install chainer --no-cache-dir
おわり、すごく楽になった。
以下は2017年初頭に書いたものなので参考程度にしてください。
cuDNNのインストール
すでに、以前のブログの状態でCUDAはインストールしてあります。
cuDNNとは、ディープラーニング用のCUDAのライブラリとありました。
これは、NVIDIAの サイト からダウンロードします。
ダウンロードするためにはログインする必要があり、無料ではありますが登録しなければなりません。
「Download cuDNN v6.0 (April 27, 2017), for CUDA 8.0」の「cuDNN v6.0 Library for Linux」をダウンロードします。
tgzという様式で圧縮されているので、tarコマンドでもGUI上でもいいので解凍しておきます。
次に、.bashrcや.zshrcに以下を記述します。
... export CUDA_PATH=/usr/local/cuda-8.0 # chainer2.0以降は以下 export CFLAGS=-I/$CUDA_PATH/include export LDFLAGS=-L/$CUDA_PATH/lib64 export LD_LIBRARY_PATH=/$CUDA_PATH/lib64:$LD_LIBRARY_PATH ...
解凍したディレクトリに移動し、中のファイルを次の通りに移動させます。
~/cuda $ sudo cp include/* $CUDA_PATH/include ~/cuda $ sudo cp lib64/* $CUDA_PATH/lib64
pythonの設定
ubuntuには最初からpythonが入っていますが、いろいろなパッケージが最初から入っているanacondaをおすすめします。
pythonのバージョン管理にはpyenvを用います。ubuntuでのpyenvについては以前書きました。
~$ pyenv install anaconda3-4.2.0 ~$ pyenv global anaconda3-4.2.0 ~$ pyenv versions
anacondaに*がついていて、選択されていることを確認します。
chainer のインストール
cuDNNをCUDA_PATHが示す場所に正しくインストールしていると、chainerのインストール時にそこが参照されcuDNNを使用できるようになるそうです。
chainer2.0からcupyは外部に別れたので別にインストールする必要があります。
上記した、CUDA_PATHなどを正しく記していると、cupyをインストールする時にcudnnを使用できるようになります。
~$ pip install chainer --no-cache-dir ~$ pip install cupy --no-cache-dir ~$ python > import chainer > print(chainer.__version__) 2.1.0 > import cupy > import cupy.cudnn
import をした後に、エラーが出なければ正しくインストール出来ています。
最後にサンプルを動かします。
~$ git clone https://github.com/pfnet/chainer ~$ cd chainer/examples/mnist ~$ python train_mnist.py -g 0
これで、学習が始まれば終わりです。