コンテンツにスキップするには Enter キーを押してください

ubuntu でcuDNN・chainerをインストールする。

はじめに

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のインストール

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

これで、学習が始まれば終わりです。




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です