Geforce RTX2080 SUPER を搭載したUbuntu18.04のPCでCUDA・Nvida-Driver・cuDNNの環境を整える
必要なものはこちら
CUDA Version: 10.0
Nvidia Driver Version: 430.50
cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0
CUDA → Nvidia Driver → cuDNN
の順でやる必要があるようです。
前準備
ホームディレクトリで.bash_aliaseを開いて(無かったら作る)以下を記入する。
# .bash_aliase
export PATH=/usr/local/cuda/bin:$PATH
export CPATH=/usr/local/cuda/include:$CPATH
export LIBRARY_PATH=/usr/local/cuda/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
以下のコマンドで読み込ませる。
source ~/.bash_aliase
CUDA
# はじめにダウンロードしたパッケージをインストールする
sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
# リポジトリにcudaを追加して、リストを更新、インストールする。
sudo apt-key adv –fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-toolkit-10-0
終わったら再起動する。
Nvidia Driver
sudo apt-get install nvidia-driver-430
終わったら再起動する。
cuDNN
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
echo -e "\n## CUDA and cuDNN paths" >> ~/.bashrc
echo 'export PATH=/usr/local/cuda-10.0/bin:${PATH}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc
なぜか
sudo apt install nvidia-driver-430
と打ったら440が入った。
http://people.cs.uchicago.edu/~kauffman/nvidia/cudnn/
でcuda v10.2に対応したcuDNN
確認用
cat /proc/driver/nvidia/version
modinfo nvidia
nvidia-smiが動かない場合
もしnvidia-smiを実行して以下のような表示が出た場合,Ubuntuにデフォルトで搭載されているグラフィックドライバNouveauと競合している可能性がある.
$ sudo vim /etc/modprobe.d/blacklist-nouveau.conf
blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
次に以下のコマンドを実行し,カーネルモジュールを再読込する.
$ sudo update-initramfs -u
PCを再起動し,nvidia-smiが実行できればCUDAのインストールに進む.
学習のデータが多かったりbatch_sizeが大きいと実行すると止まってしまうが、これはデフォルトの設定だと最初に学習に必要なGPUメモリをすべて確保しようとするため、すべてのGPUメモリを食いつぶしてエラーとなってしまうためである。
なので最初にメモリを確保せずに、学習毎に取得できる分だけのGPUメモリを確保するように変更する。
import tensorflow as tf
from keras import backend as K
import tensorflow as tf
from keras.backend import tensorflow_backend
config = tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True))
session = tf.Session(config=config)
tensorflow_backend.set_session(session)
参考
https://yurufuwadiary.com/tensorflow-rtx2080super-installation
Author And Source
この問題について(Geforce RTX2080 SUPER を搭載したUbuntu18.04のPCでCUDA・Nvida-Driver・cuDNNの環境を整える), 我々は、より多くの情報をここで見つけました https://qiita.com/ReoNagai/items/bafeceab77642ca9bc9e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .