Nvidia RTX2060 Superは2019.7に出たばかりですが、Tensorflowが出来そうなので導入してみました。
導入はUbuntu18.04 + Anaconda環境になります。
Tensorflow とCUDAのバージョンはクリティカルで、考えて入れないと色々な問題が出ます。
・まずはNvidia のドライバー ppaでない普通の方を入れました。
Nvidia公式サイトからドライバを探します。
https://www.nvidia.com/Download/index.aspx?lang=en
RTX 2060 Super = 430.40 2019.7.29付け
リポジトリのバージョンを確認後にインストール
apt search nvidia-driver-430
sudo apt -y install nvidia-driver-430
として導入。(バージョンは430.26でした)
・Anacondaのインストール
公式サイトからLinux Python 3.7版を落とし、通常ユーザーで入れます。
https://www.anaconda.com/
cd Downloads
bash Anaconda3-2019.07-Linux-x86_64.sh
・ライセンスに合意
・インストール先の確認
・Anaconda3をイニシャライズしますか =>Yes
~/.bashrcに環境設定のスクリプトが入り、ログイン時にanacondaが起動した状態です。
(base) ccsj@alice:~$
抜けるには、conda deactivate とすればOK。conda activateすれば戻ります。
(base) ccsj@alice:~$ conda deactivate
ccsj@alice:~$ conda activate
(base) ccsj@alice:~$
☆Tensorflow-gpu Keras-gpuのインストール
注意点としては、Kerasの公式サンプルはCUDA 10.0ベースだそうなので、サンプルの動作確認をしたければTensorflowもバージョン合わせないとなりません。
ちなみにTensorflow-gpuをバージョン指定なしにインストールすると下記が入り、KerasのサンプルでCUPTI errorとなりました。
tensorflow-gpu 1.14.0 python 3.7.4 cuda 10.1.1
・Tensorflow日本語公式ページからCuda10.0に合うバージョンを探します。
https://www.tensorflow.org/install/source
tensorflow_gpu-1.13.1 python 3.3-3.6 cuda 10.0
下のほうの表によると、CUDA 10.0をサポートしてるのは、tensorflow_gpu-1.13.1
Nvida公式サイトからそのバージョンで動くNvidaドライバを確認します。
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
CUDA 10.0.130 >= 410.48 ドライバが古ければ更新しておきます。
各バージョンの確認が出来たところで、インストールとなりますが、pythonのバージョンも下がるのでAnaconda直下には入れず、仮想環境側へインストールします。
(base) ccsj@alice:~$ conda create -n tf13 tensorflow-gpu=1.13 keras-gpu python=3.6
他にも色々入りますがcondaはバージョン間のすり合わせまでしてくれるので楽チンです。
さてtensorflowのサンプルはgithubから落としてきます。
WebサーバーみたいなDocument Rootが有るわけでは無く、ソースの場所は仮想環境側でなくともOKなようで、お試しとして ~/Documentに入れてみました。
cd Document
git clone https://github.com/tensorflow/tensorflow.git
仮想環境をactivateし、Kerasのサンプルを実行。
(base) ccsj@alice:~$ conda activate tf13
(tf13) ccsj@alice:~$
落としておいたサンプルへは、(tf13)がアクティブなまま移動しますが、長くなるのでコマンド部分だけ記します。
cd ~/Documents/tensorflow/tensorflow/examples/tutorials/mnist
python mnist_with_summaries.py
・ちなみにTenrosflow公式ページのチュートリアルの結果は
https://www.tensorflow.org/tutorials?hl=ja
60000/60000 [==============================] - 3s 50us/sample - loss: 0.2211 - acc: 0.9353
Epoch 2/5
60000/60000 [==============================] - 3s 45us/sample - loss: 0.0970 - acc: 0.9702
Epoch 3/5
60000/60000 [==============================] - 3s 45us/sample - loss: 0.0679 - acc: 0.9787
Epoch 4/5
60000/60000 [==============================] - 3s 45us/sample - loss: 0.0541 - acc: 0.9824
Epoch 5/5
60000/60000 [==============================] - 3s 45us/sample - loss: 0.0421 - acc: 0.9869
10000/10000 [==============================] - 0s 24us/sample - loss: 0.0668 - acc: 0.9803
めでたし、めでたし。
nvidia-smi -l 1 で別コンソールで負荷を見ていると35%程度となってました。
GPU名がちょん切れているのはご愛嬌?
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1191 G /usr/lib/xorg/Xorg 30MiB |
| 0 1291 G /usr/bin/gnome-shell 58MiB |
| 0 1602 G /usr/lib/xorg/Xorg 322MiB |
| 0 1749 G /usr/bin/gnome-shell 33MiB |
| 0 4462 C python 7325MiB |
+-----------------------------------------------------------------------------+
Thu Aug 22 01:36:46 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26 Driver Version: 430.26 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| 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 RTX 206... Off | 00000000:01:00.0 On | N/A |
| 32% 48C P2 48W / 175W | 7783MiB / 7979MiB | 35% Default |
+-------------------------------+----------------------+----------------------+