본문 바로가기

오늘의 공부/tensorflow & keras

1. 우분투 20.04에서 텐서플로우 gpu 설치하기

tensorflow.org


기존의 방법으로 텐서플로우 gpu버젼을 설치하려고 했으나, cuda 10.1 버전을 최근 텐서플로우가 지원을 합니다.

그런데 엔비디아 드라이버 먼저 설치를 하게 되면 cuda가 11버전이 설치가 됩니다.그래서 cuda toolkit과의 충돌이 발생하게 됩니다.

 

 

쿠다 버젼 충돌

 

 

그리고 대부분 우분투 20.04 버전에서  cuda 10.1을 설치하는 방법으로  우분투 18.04 버전의 cuda-toolkit  10.1을 다운받아서 진행하라고 합니다. 하지만 저의 경우는 충돌이 일어납니다.

 

[0.기존에 깔린 cuda 및 엔비디아 삭제]

1)엔비디아 삭제

$ sudo apt-get remove --purge '^nvidia-.*' 

엔비디아 삭제

 

 

2)쿠다삭제

$ sudo apt-get autoremove --purge 'cuda*'

 

쿠다 삭제

 

 

 

[1.우분투에서 20.04 cuda 10.1을 설치하기]

 

$ sudo apt install nvidia-cuda-toolkit

 

 

[1.1쿠다 버전 확인하기]

$ nvcc -V

 

 

 

 

[1.2 쿠다 설치된 곳 확인하기]

$ whereis cuda

 

 

[2.cuDNN 설치하기]

cuDNN 7.6.5 버전을 다운받아줍니다. CUDA버젼에 따라 호환되는 cuDNN 버전이 다릅니다.

 

https://developer.nvidia.com/rdp/cudnn-archive

 

cuDNN Archive

NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

developer.nvidia.com

1)Download cuDNN 7.6.5  for cuda10.1 클릭해주기

 

 

2)Download cuDNN 7.6.5  for cuda10.1에 들어가서 cuDNN Library for Linux를 클릭하셔서 다운받아줍니다.

 

 

 

3)다운이 완료가 되면 압축을 풀어줍니다.

 

$ tar -xvzf cudnn-10.1-linux-x64-v7.6.5.32.tgz

 

 

4)압축을 풀었으면 아까 cuda가 설치된 곳으로 복사합니다.

 

$ sudo cp cuda/include/cudnn.h /usr/lib/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/lib/cuda/lib64/

 

 

 

[2.1cuDNN 권한 설정]

 

cuDNN에 대해 권한을 설정해줍니다.

 

$ sudo chmod a+r /usr/lib/cuda/include/cudnn.h 
$ sudo chmod a+r /usr/lib/cuda/lib64/libcudnn*

 

 

[3.환경변수 설정]

 

$ sudo vim ~/.bashrc 

 

이렇게 vim으로 환경변수를 직접 설정하거나 아니면

 

커맨드 라인에서 바로 아래처럼 echo를 써서 적용시켜 줘도 됩니다.

$ echo 'export LD_LIBRARY_PATH=/usr/lib/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/usr/lib/cuda/include:$LD_LIBRARY_PATH' >> ~/.bashrc

 

 

환경변수 설정해주시고 재부팅하지않고 source를 써서 환경변수를 적용시켜줍니다.

$ source ~/.bashrc

 

 

[4.텐서플로 gpu 설치하기]

현재 텐서플로 gpu 버전중 cuda10.1가 호환이 되는 것은 2.1.0버젼이므로 2.1.0버젼을 다운받아 줍니다.

 

저는 아나콘다에서 텐서플로를 설치 할것이기에 conda로 설치합니다.

conda이외에 환경에서 텐서플로를 설치하시는 분들은 pip로 설치해주시면 될 것  같습니다.

 

 

 

$ conda install -c anaconda tensorflow-gpu==2.1.0

여기서 특정 버전을 붙여주지 않으면 2.2 버젼이 설치되기 때문에 버젼을 적어주셔야 합니다.

 

 

설치하고 나시고 conda list를 입력하고 목록을 보면

$ conda list

tensorflow가 설치 된것을 확인할 수 있습니다.

 

[5.아나콘다에서 gpu 인식하는지 확인하기]

아나콘다 쥬피터에 들어가서 해당 라인을 입력합니다.

import tensorflow as tf
tf.config.list_physical_devices("GPU")

 

*만약 이때 out이  빈 괄호로 나온다면 [] ,그래픽카드를 인식하지 못하고 있는 것입니다.

그래서 그래픽 카드 설정을 다시 해주셔야 합니다.

 

[참고사이트]

https://towardsdatascience.com/installing-tensorflow-gpu-in-ubuntu-20-04-4ee3ca4cb75d

 

Installing TensorFlow GPU in Ubuntu 20.04

A short guide for installing TensorFlow GPU and its prerequisite packages

towardsdatascience.com

 

https://www.tensorflow.org/install/gpu

 

GPU 지원  |  TensorFlow

참고: GPU 지원은 CUDA® 지원 카드가 있는 Ubuntu 및 Windows에 제공됩니다. TensorFlow GPU 지원에는 다양한 드라이버와 라이브러리가 필요합니다. 설치를 단순화하고 라이브러리 충돌을 방지하려면 GPU를

www.tensorflow.org

https://anaconda.org/anaconda/tensorflow-gpu

 

Tensorflow Gpu :: Anaconda Cloud

License: Unspecified 204074 total downloads Last upload: 2 months and 1 day ago Installers conda install linux-64  v2.2.0 win-64  v2.1.0 To install this package with conda run: conda install -c anaconda tensorflow-gpu Description

anaconda.org

https://hwiyong.tistory.com/233

 

(Ubuntu) Ndivia driver 삭제, cuda 삭제

Ndivia driver 삭제 sudo apt-get remove --purge '^nvidia-.*' CUDA 삭제 sudo apt-get --purge remove 'cuda*' sudo apt-get autoremove --purge 'cuda*' CUDA 파일 삭제 sudo rm -rf /usr/local/cuda or sudo r..

hwiyong.tistory.com