(「深層学習 Ubuntu 18.04 に Tensorflow をインストール」の続き)

Ubuntu 18.04 用の CUDA + cuDNN + Tensorflow GPU は、現時点(2018/10/18)でまだ公式にはサポートされていないらしいので、とりあえず Ubuntu 17 用の CUDA 9 + cuDNN 7 で Tensorflow GPU 1.8 をインストールしました。

(1) PC の Secure boot の無効化

Secure boot 機能がインストールの邪魔になっているらしいので、
起動時に Delete キーを連打して Bios 画面を起動、Security のタブで Secure boot 機能を Disable に設定。

(2) ドライバの再設定

ドライバを更新します。

~$ sudo add-apt-repository ppa:graphics-drivers/ppa
~$ sudo apt update
~$ sudo apt install nvidia-390 nvidia-390-dev

再起動

元のドライバ(nouveau)がないことを確認。

~$ lsmod | grep -i nouveau
~$

NVIDIAドライバを確認
~$ nvidia-smi
Fri Oct 19 01:08:22 2018
+—————————————————————————–+
| NVIDIA-SMI 390.87 Driver Version: 390.87 |
|——————————-+———————-+———————-+
| 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 960 Off | 00000000:01:00.0 On | N/A |
| 20% 37C P5 19W / 160W | 179MiB / 4035MiB | 0% Default |
+——————————-+———————-+———————-+

+—————————————————————————–+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1238 G /usr/lib/xorg/Xorg 12MiB |
| 0 1280 G /usr/bin/gnome-shell 48MiB |
| 0 1534 G /usr/lib/xorg/Xorg 53MiB |
| 0 1672 G /usr/bin/gnome-shell 61MiB |
+—————————————————————————–+

(3) CUDA のインストール

https://developer.nvidia.com/cuda-toolkit-archive
Ubuntu 17.04 の CUDA 9.0 を選択ダウンロード
Linux -> x86_64 -> Ubuntu -> 17.04 -> deb (local) -> Base Installer

~$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
~$ sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
~$ sudo apt-get update
~$ sudo apt-get install cuda-9-0

(4) cuDNN のインストール

https://developer.nvidia.com/rdp/cudnn-download
CUDA 9.0 用の cuDNN 7.1.3 をダウンロード。

~$ sudo dpkg -i libcudnn7_7.1.3.16-1+cuda9.0_amd64.deb
~$ sudo dpkg -i libcudnn7-dev_7.1.3.16-1+cuda9.0_amd64.deb
~$ sudo dpkg -i libcudnn7-doc_7.1.3.16-1+cuda9.0_amd64.deb

パス設定
~$ vi .bashrc
・・・
export PATH=”/usr/local/cuda-9.0/bin:$PATH”
export LD_LIBRARY_PATH=”/usr/local/cuda/lib64:$LD_LIBRARY_PATH”

~$ source .bashrc

libcupti のインストール
~$ sudo apt-get install libcupti-dev

(5) Tensorflow GPU のインストール

以前のtensorflowを消す。
~$ pip3 uninstall tensorflow

インストール
~$ pip3 install –upgrade tensorflow-gpu==1.8.0
~$ pip3 install –upgrade tflearn
~$ pip3 install –upgrade keras

(再起動)

確認
~$ python
>>> import tensorflow
>>> import tflearn
>>> import keras
Using TensorFlow backend.
>>>

GPUの確認

>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()

incarnation: 8298168254807972213
, name: “/device:GPU:0”
device_type: “GPU”
memory_limit: 3606380544
locality {
bus_id: 1
links {
}
}
incarnation: 2748502406460115902
physical_device_desc: “device: 0, name: GeForce GTX 960, pci bus id: 0000:01:00.0, compute capability: 5.2”

(6) 動作確認

「深層学習 TensorFlow を MNIST で試す」 のソースでテスト。

| SGD | epoch: 020 | loss: 0.51773 – acc: 0.9417 | val_loss: 0.07854 – val_acc: 0.9780 — iter: 49500/49500

learning start:2018-10-19 01:27:50.571832
learning end:’2018-10-19 01:29:11.786083
predict start:2018-10-19 01:29:11.786196
predict end:2018-10-19 01:29:11.849480
[7 2 1 … 4 5 6]
[7 2 1 … 4 5 6]
0.9793

エラーなし。

「深層学習 Keras(TensorFlow用)のインストール」 のソースでテスト。

Epoch 20/20
54000/54000 [==============================] – 1s 19us/step – loss: 0.2495 – acc: 0.9289 – val_loss: 0.1574 – val_acc: 0.9600
[7 2 1 … 4 5 6]
[7 2 1 … 4 5 6]
0.949

エラーなし。

 

以上

【参考文献】このブログの参考書籍はこちらにまとめてあります。
http://www.ecobioinfo.com/?page_id=838

(2018/10/19 S.Onda)