Ubuntu Desktop 16.04にCUDAによるディープラーニング環境を構築する!(Chainer)

Ubuntu 16.04 LTS Desktopに、CUDAによるChainerのディープラーニング環境を構築します。

使用した環境

  • Core i5-7500
  • GeForce GTX 1050 Ti
  • Ubuntu 16.04 LTS Desktop (16.04.5)
  • CUDA Toolkit 9.0
  • cuDNN 7.2
  • Anaconda 5.2 (Python 3.6)
  • Chainer 4.4.0

CUDA Toolkit 9.0のインストール

CUDA Toolkit 9.0をインストールします。

CUDA Toolkit 9.0のダウンロード

CUDA 9.0のインストール用モジュールを、Nvidiaのホームページ「CUDA Toolkit 9.0 Download」から以下を選択して、ダウンロードします。

  • Operating System : Linux
  • Architecture : x86_64
  • Distribution : Ubuntu
  • Version : 16.04
  • Installer Type : dev [network]

CUDA Toolkit 9.0のインストールの実行

以下のコマンドを実行して、CUDA Toolkit 9.0をインストールします。デバイスドライバーも同時にインストールされます。

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

インストールが終了したら、ドライバーを有効にするため、OSを再起動します。

CUDA Toolkit 9.0のインストールの検証

CUDA Toolkit 9.0のインストールの検証を行います。nvidia-smiコマンドを実行して、GPUの情報が表示されることを確認します。ドライバーのバージョンも確認できます。

nvidia-smi
Fri Sep 14 23:25:47 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.44                 Driver Version: 396.44                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:01:00.0 Off |                  N/A |
| 35%   34C    P0    N/A /  75W |    184MiB /  4040MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1202      G   /usr/lib/xorg/Xorg                            28MiB |
|    0      1420      G   /usr/lib/xorg/Xorg                            57MiB |
|    0      1755      G   /usr/bin/gnome-shell                          66MiB |
+-----------------------------------------------------------------------------+

cuDNN 7.2のインストール

デープラーニング用のライブラリcuDNN 7.2をインストールします。

cuDNN 7.2のダウンロード

cuDNN 7.2のインストール用モジュールを、Nvidiaのホームページ「NVIDIA cuDNN」から「Download cuDNN」ボタンをクリックして画面遷移し、ユーザ登録を行い、ダウンロードページにログインします。CUDA 9.0用のページに遷移して、以下を選択して、ダウンロードします。

  • cuDNN v7.2.1 Runtime Library for Ubuntu16.04 (Deb)
  • cuDNN v7.2.1 Developer Library for Ubuntu16.04 (Deb)
  • cuDNN v7.2.1 Code Samples and User Guide for Ubuntu16.04 (Deb)

cuDNN 7.2のインストールの実行

以下のコマンドを実行して、cuDNN 7.2をインストールします。

$ cd $HOME/Downloads
$ sudo dpkg -i libcudnn7_7.2.1.38-1+cuda9.0_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.2.1.38-1+cuda9.0_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.2.1.38-1+cuda9.0_amd64.deb

cuDNN 7.2のインストールの検証

cuDNN 7.2のインストールの検証を行います。最後に、「Test passed!」と表示されることを確認します。

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

Anaconda 5.2のインストール

python環境を構築するため、Anacondaをインストールします。

Anaconda 5.2のダウンロード

Anacondaのダウンロードページ「Download Anaconda Distribution」から、python 3.6バージョンのanacondaをダウンロードします。

Anaconda 5.2のインストールの実行

以下のコマンドで、Anaconda 5.2をインストールします。途中、ライセンスへの同意、PATH変数への登録、VSCodeの導入を聞かれますが、以下の例では、すべて"yes"でインストールを行います。

$ bash ~/Downloads/Anaconda3-5.2.0-Linux-x86_64.sh
...
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> 
...
Do you accept the license terms? [yes|no]
[no] >>> yes
...Do you wish the installer to prepend the Anaconda3 install location
to PATH in your /home/sysadm001/.bashrc ? [yes|no]
[no] >>> yes...
Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
>>> yes
...
VSCode successfully installed in /usr/share/code !

Anaconda 5.2のインストールの検証

anacondaのナビゲータが起動することを確認します。

$ source ~/.bashrc
$ anaconda-navigator

Chainerのインストール

Chainerをインストールします。

Chainerのインストールの実行

pythonの環境を確認します。

$ python -V
Python 3.6.5 :: Anaconda, Inc.
$ pip -V
pip 10.0.1 from /home/sysadm001/anaconda3/lib/python3.6/site-packages/pip (python 3.6)

以下のコマンドで、GPU用Chainerの前提パッケージであるCuPyをインストールします。実行には若干時間がかかります。

$ pip install cupy

以下のコマンドで、Chainerをインストールします。

$ pip install chainer

Chainerインストールの検証

PythonからChainerをインポートできることを確認します。

>>> import numpy as np
>>> import chainer
/home/sysadm001/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
>>> exit()

おわりに

本稿では、Chainerをインストールしました。CuPyをインストールすることを忘れなければ、インストールはとても簡単です。

参考