ubuntu16.04にてTensorFlow/KerasをGPUにて動かすための環境構築.
個人用のメモ活用なため一部省略して書きますが、質問があれば対応します.
[ 環境 ]
・Linuxmint( ubuntu16.04ベース )
・GPU RTX1060(6GB)
・CUDA 10.0 ※最新は10.1だがTensorFlowが対応していない.
・cuDNN
・Python 3.5.2
1.Linuxのグラフィックドライバ停止
Linuxでは、通常"nouveau"が動作しているのためこのサービスを停止しないと失敗します.
①vi /etc/modprobe.d/blacklist-nouveau.conf ※無いと思うので基本新規作成
②上記のファイルに以下を記載し保存.
blacklist nouveau
options nouveau modeset=0
③設定変更の反映
sudo update-initramfs -u
④nouveauが停止していることの確認.
"lsmod | grep -i nouveau"にてなにも表示されなければOK.
2.NVIDIAのグラフィックドライバのインストール
最新のドライバをダウンロード(https://www.nvidia.co.jp/Download/index.aspx?lang=jp)
ダウンロード後は、実行権限がないので実行権限を付与する必要がある.
①アクセス権の付与
chmod 755 "グラフィックドライバ"
②インストール
./"グラフィックドライバ" --no-x-check
※--no-x-checkを付けないと"Xserver〜"というエラーが出ます.
②にて実行後、基本的に"accept/yes/ok"ですが、以下が4回目くらいにあるのでそこだけ"No"にする.
"X Window Systemを起動するたびにnvidia-xconfigを実行するかどうか"
③再起動後に、画面表示がNVIDIAドライバにて最適化されていると思います.
3.CUDAのインストール
CUDA10.0を"deb[local]"形式にてダウンロード(https://developer.nvidia.com/cuda-10.0-download-archive)
①レポジトリの登録
・sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
・sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
・sudo apt-get update
②インストール
・sudo apt-get install cuda
※この時に、インストール対象が10.0になっていることを確認して下さい.
③PATHの設定
"~/.bashrc"に以下を追記する.
export PATH=/usr/local/cuda-10.0/bin:${PATH}
④設定の反映
source ~/.bashrc
⑤動作確認
"nvidia-smi"にて以下が表示されること.
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.78 Driver Version: 410.78 CUDA Version: 10.0 |
|-------------------------------+----------------------+----------------------+
| 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 106... Off | 00000000:01:00.0 On | N/A |
| 27% 32C P8 6W / 120W | 245MiB / 6078MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
4.cuDNNのインストール
公式から以下の3つをダウンロードしますが(https://developer.nvidia.com/cudnn)
※CUDAのバージョンごとに分かれてるので注意
・libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
・libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
・libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
①sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
②sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
③sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
④動作確認
"nvcc -V"にて以下が表示されること.
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130
5.TensorFlowのインスストール
Tensorflowは、python3のライブラリとして提供されているため、pip3にてインストールします.
TendorFlowの公式にも記載があります(https://www.tensorflow.org/install/gpu)
また、CPU版とGPU版の2種類があるためCPU版を選ばないように注意ください.
①sudo pip3 install tensorflow-gpu
②動作確認
Python3にて以下が実行できること.
import tensorflow as tf
6.Kerasのインストール
Kerasは、TensorFlowの簡略版であり、backendではTensorFlowが動いています.
インストール方法は、同じくpip3です(https://keras.io/ja/#_2)
backendでTensorFlowが動いているためKerasインストール時は、CPU/GPUを意識する必要はありません.
①sudo pip3 install keras
②動作確認
Python3にて以下が実行できること.
import keras
以上にて環境構築は完了です.
次回は、簡単なオープンソースなどの使用方法を記載しようと思います.