深層学習用環境のセットアップ Ubuntu GNOME 16.04 LTS + CUDA9.1 + cuDNN7

Ubuntu GNOME 16.04 LTS のインストール

母艦のOSがWindowsであったため,WindowsUbuntu ISOの準備を行う. 以下のリンクよりISOファイルをダウンロードし,USBWriterでISOをUSBに書き込み.

UbuntuGNOME/GetUbuntuGNOME - Ubuntu Wiki USBWriter のダウンロードと使い方 - k本的に無料ソフト・フリーソフト

日本語のフォルダ名を英語に変換

$ LANG=C xdg-user-dirs-gtk-update

Ctrl + Alt + F1のターミナルで日本語が表示されないので,前もってフォルダ名を英語表記にする.

Linux kernel header のインストールを行う

$ sudo apt-get install linux-headers-$(uname -r)

CUDA9.1 のインストール

https://developer.nvidia.com/cuda-downloadsへ行き,自身の環境にあったインストーラーをダウンロード. 私は Installer for Linux Ubuntu 16.04 x86_64 deb[network] を選択.

[network]のついたインストーラーだとwgetで直接インストールが可能.

$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb

Ctrl + Alt + F1 を押してターミナルに入る. lightdm (gdm) を停止

$ sudo service lightdm stop
$ sudo service gdm stop

公式のインストラクションに沿って以下のコマンドを入力.

$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
$ sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda-9.1

NVIDIA driversをロードするために再起動

sudo reboot

※再起動後にログインループが発生した場合 アンインストール

$ sudo apt-get remove nvidia-*
$ sudo apt-get remove cuda-*
$ sudo apt-get autoremove

もう一度 CUDA9.1のインストールの章で書いてあることをやり直そう.

私は一度ログインループに陥ったが,アンインストール&再インストールでログインループが解消できた.

1回目はlightdmがインストールされていなかったことが原因?要検証

CUDA9.1 と NVIDIA driverがインストールされているかを確認

$ nvidia-smi # NVIDIA driverの確認
$ nvcc -v # CUDAの確認

上記2つのコマンドでステータスがでてくればインストールは成功

うまくいかないときは以下をターミナルで入力

$ sudo gedit ~/.bashrc

~/.bashrcにパスを追加

export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

~/.bashrcを再読み込みし,確認

$ source ~/.bashrc
$ sudo ldconfig
$ nvidia-smi # NVIDIA driverの確認

これでうまくいかなければ,他をあたってください.

cuDNN 7 のインストール

https://developer.nvidia.com/cudnn へ行き登録後に次をダウンロードする.

cuDNN v7.1.2 Runtime Library for Ubuntu16.04 (Deb)

cuDNN v7.1.2 Developer Library for Ubuntu16.04 (Deb)

cuDNN v7.1.2 Code Samples and User Guide for Ubuntu16.04 (Deb)

インストール

$ sudo dpkg -i libcudnn7_7.1.2.21-1+cuda9.1_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.1.2.21-1+cuda9.1_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.1.2.21-1+cuda9.1_amd64.deb

cuDNNの確認

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd  $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

mnistの出力が返ってくれば成功.

参考にしたサイト

www.python36.com