0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu18.04, CUDA10.0, cuDNN7.4, tensorflow-gpu1.14の環境再構築メモ

Last updated at Posted at 2021-04-24

##前提
このコードをGPUで回すためには,tensorflow-gpu 1.14が必要らしい.
tensorflow-gpuのバージョンによってCUDAやcuDNNのバージョンは限定される.
また,インストールするCUDAのバージョンによっては,Nvidiaドライバのバージョンが適さない場合もある.

tensorflowとCUDA・cuDNNの対応関係⇨こちら
CUDAとNvidiaドライバの対応関係⇨こちら

##開発環境
OS:Ubunutu18.04.5 LTS
GPU:GeForce RTX 2060

###これを入れたい
・tensorflow-gpu 1.14
   ⇩
・CUDA 10.0 & cuDNN 7.4.2
   ⇩
・Nvidiaドライバ 410.48以上

###再構築前の環境
・CUDA 10.0
・cuDNN 7.4.2
・Nvidiaドライバ 410.104

ドライバのバージョンが低くてGPUで回せなかった.

#①古いやつ全部消す
このページを参考にした.

以下をターミナルに打ち込む.

terminal
sudo apt-get --purge remove nvidia-*
sudo apt-get --purge remove cuda-*
sudo apt-get --purge remove cudnn-*
sudo apt-get --purge remove libnvidia-*
sudo apt-get --purge remove libcuda-*
sudo apt-get --purge remove libcudnn-*
sudo apt-get autoremove
terminal
dpkg -l | grep nvidia
dpkg -l | grep cuda
dpkg -l | grep cudnn

これで何も出力されなければOK.

###上のコマンド後に何か出力されてしまったときの対処法

terminal(output)
rc cuda-cuda-...
︙
rc cuda-...

みたいなのが出力されてしまったときは以下のコマンド.

terminal
sudo aptitude purge cuda-cuda-... ・・・ cuda-...

sudo aptitude purge [ファイル名]で消せるはず.

#②ドライバのインストール
初めてやる人は一通りこのページに沿ってやるほうが良いと思う.

##自分のケース
ドライバのインストール後,CUDA 10.0をインストールすると,なぜかドライバのバージョンが410.104に戻されてしまった.
よくわからないため別のページのやり方を参考に.

ここからはこのページを参考にした.

terminal
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update
terminal
ubuntu-drivers devices  # インストールされているデバイスと利用可能なドライバの確認。
sudo ubuntu-drivers autoinstall
sudo reboot

今回は,autoinstallでnvidia-driver-465をインストールすることになった.
最新版,ちょっとコワい….

再起動後,nvidia-smiでドライバがインストールされているか確認.

#③CUDA 10.0,cuDNN 7.4.2のインストール

terminal
sudo apt-get install -y --no-install-recommends cuda-10-0 libcudnn7 libcudnn7-dev

これやったらcuDNNの7.4.2以外のバージョンらしきものをインストールしてるように見えたけど大丈夫だろうか….

##PATHを通す

terminal
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

##最後に確認

terminal
nvidia-smi
nvcc -V
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

上からNvidiaドライバ,CUDA,cuDNNのバージョン確認.

最後にGPUを認識しているかを確認.(tensorflow-gpuをインストールした上で)

terminal上でpython
python3
>>>from tensorflow.python.client import device_lib
>>>device_lib.list_local_devices()

これでdevice_type:GPUを出力すればOK.(XLA_GPUではダメ)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?