(「深層学習 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)