Deep Learning Tutorial

chainer and python

低火力ディープラーニングマシンの構築(自作PC)

さて、本格的に機械学習を勉強し始めて2ヶ月ぐらいとなり、そろそろDeepLearningやるか!と思い今まで使っていたvmware上のubuntuでcuda関連をいじったがよくわからなくなったので、思い切ってwindowsを消してubuntuをインストールして、ディープラーニングマシンを構築しようと思いました(^^)


スペック

f:id:tsuruchan_0827:20160302121931j:plain


ubuntu 14.04 isoのダウンロード
Ubuntu 14.04 LTS 日本語 Remix リリース | Ubuntu Japanese Team
DVDに焼いてインストールします。


インストールし終わったら、まずはシステムの更新。

$ sudo apt-get update
$ sudo apt-get dist-upgrade

上:パッケージ構成を変えない範囲でアップグレードする
下:パッケージ構成の変更に追随してアップグレード

NVIDIAのドライバと CUDAのインストール

デフォルトでnouveauというドライバが入っていますが、CUDAをインストールする際にトラブルを色々起こすそうなので、まずは無効化します。
/etc/modprobe.d/blacklist-nouveau.conf
というファイルを制作し、以下を記述します。

blacklist nouveau
options nouveau modeset=0

その後、以下の謎の呪文を唱えます。

$ sudo update-initramfs -u

CUDAのインストール

CUDA 7.5 Downloads | NVIDIA Developer
f:id:tsuruchan_0827:20160301224151p:plain
このように選択していき、
f:id:tsuruchan_0827:20160301224230p:plain
downloadをクリックします。
ダウンロードしたファイルのディレクトリに移動して、

$ sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb
$ udo apt-get update
$ sudo apt-get install cuda

インストールには時間がかかります。
終わったら、.bashrcに以下を記述します。

export CUDA_HOME=/usr/local/cuda-7.5
export PATH=${CUDA_HOME}/bin:$PATH
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH
$ source .bashrc

その後再起動。



python関連のインストール

まずはpythonコンパイル時に必要なパッケージをインストールする。

$ sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev

pyenvのインストール

githubからダウンロードします。

$ cd /usr/local/
$ sudo git clone git://github.com/yyuu/pyenv.git ./pyenv
$ sudo mkdir -p ./pyenv/versions ./pyenv/shims

PATH設定

/etc/profile.d/pyenv.shを作成します。

$ echo 'export PYENV_ROOT="/usr/local/pyenv"' | sudo tee -a /etc/profile.d/pyenv.sh
$ echo 'export PATH="${PYENV_ROOT}/shims:${PYENV_ROOT}/bin:${PATH}"' | sudo tee -a /etc/profile.d/pyenv.sh
$ source /etc/profile.d/pyenv.sh 

sudo時にも設定を反映させたい

$ sudo visudo

以下のように設定。

#Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults    env_keep += "PATH"
Defaults    env_keep += "PYENV_ROOT"

pythonをインストールします
まずは、インストールできるもののリストを表示します。

$ pyenv install --list

現時点(2016/3/1)時点では3.5.1が最新だったので、それをダウンロードします。

numpyなどのパッケージを個別にインストールするのはめんどくさいので、Anacondaもダウンロードします。

$ sudo pyenv install  3.5.1
$ sudo pyenv install anaconda3-2.5.0
$ sudo pyenv global anaconda3-2.5.0
$ sudo pyenv local anaconda3-2.5.0
$ pyenv versions

cuDNNのインストール

NVIDIA cuDNN | NVIDIA Developer
このサイトで登録を行う。(数日かかる)
f:id:tsuruchan_0827:20160302002342p:plain
上から3番目の”cuDNN v4 Library for Linux”をクリック。
ダウロードして解凍。
すべてコピーしていきます。

sudo cp cudnn.h /usr/local/cuda/include/
sudo cp libcudnn.so /usr/local/cuda/lib64/
sudo cp libcudnn.so.4 /usr/local/cuda/lib64/
sudo cp libcudnn.so.4.0.7 /usr/local/cuda/lib64/
sudo cp libcudnn_static.a /usr/local/cuda/lib64/


あとは必要なものをダウロードしていきます

$ pip install --upgrade pip
$ sudo apt-get install libhdf5-dev
$ sudo pip install protobuf
$ sudo pip install -U setuptool
$ sudo pip install -U cython 
$ sudo pip install chainer

これで一通りの設定が終わりました!

やっとディープラーニングマシンが完成したので、chainerを使ってDeepLearningの勉強をしていこうと思います。