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

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

使用した環境

  • 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)
  • PyTorch (GPU)

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」ボタンをクリックして画面遷移し、ユーザ登録を行い、ダウンロードページにログインします。以下を選択して、ダウンロードします。

  • 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.2_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.2.1.38-1+cuda9.2_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.2.1.38-1+cuda9.2_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

PyTorchのインストール

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

PyTorchのインストールの実行

PyTorchのホームページで以下を選択して、インストール用のコマンドを表示します。

  • OS : Linux
  • Package Manager : anaconda
  • Python : 3.6
  • CUDA : 9.0
$ conda install pytorch torchvision -c pytorch

PyTorchのインストールの検証

最初のチュートリアルを実行して、インストールできたことを確認します。

$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import print_function
>>> import torch
>>> x = torch.empty(5, 3)
>>> print(x)
tensor([[-2.8343e+17,  4.5667e-41, -2.8343e+17],
        [ 4.5667e-41,  1.0068e-11,  7.2053e+22],
        [ 1.1351e-43,  0.0000e+00, -2.8343e+17],
        [ 4.5667e-41, -2.8343e+17,  4.5667e-41],
        [ 5.1001e+33,  7.0696e+28,  6.9765e+22]])
>>> exit()

GPUを使用しない場合

GPUを使用せず、CPUのみでディープラーニングを行う場合は、本稿の「Anaconda 5.2のインストール」から開始し、PyTorchのインストールは、以下のCPUなしのコマンドでインストールを行います。

$ conda install pytorch-cpu torchvision-cpu -c pytorch

おわりに

本稿では、PyTorchをインストールしました。今回は、TensorFlowやChainerなどと環境を可能な限りそろえたかったので、CUDA 9.0を選択しましたが、PyTorchはCUDA 9.2でも同様の手順で容易にインストールすることができます。

参考情報

関連記事

関連書籍