- 投稿日:2019-08-22T13:25:32+09:00
Ubuntu18.04 RTX 2060 SuperでTensorflow
Nvidia RTX2060 Superは2019.7に出たばかりですが、Tensorflowが出来そうなので導入してみました。
導入はUbuntu18.04 + Anaconda環境になります。
Tensorflow とCUDAのバージョンはクリティカルで、考えて入れないと色々な問題が出ます。・まずはNvidia のドライバー ppaでない普通の方を入れました。
Nvidia公式サイトからドライバを探します。
https://www.nvidia.com/Download/index.aspx?lang=enRTX 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/sourcetensorflow_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.htmlCUDA 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=ja60000/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 | +-------------------------------+----------------------+----------------------+