본문 바로가기

Software/Ubuntu and Mint

Ubuntu 20.04 (Mint 20.1) CUDA 11.1, cuDNN 8.0.5, Tensorflow 2.4

이번에는 우분투 20.04에서 CUDA 11.1과 cuDNN 8.0.5를 설치하고 이어서 Tensorflow 2.4를 설치하는 과정을 설명하려고 합니다. 화면은 이미 눈치를 채셨을 수도 있지만, 우분투 20.04에 대응하는 Mint 버전인 Mint 20.1 Ulyssa에서 저는 진행했습니다. Ubuntu Focal과 Mint Ulyssa는 거의 동일하다고 생각하셔도 됩니다.

위 영상에서도 동일한 이야기가 진행됩니다.

먼저 cuda toolkit 11.1을 검색합니다. 구글신님을 이용해서~

오늘 설치할 버전은 CUDA Toolkit 11.1 update 1을 받습니다. 

위 그림처럼 Linux -> x86_64 -> Ubuntu -> 20.04를 차례로 선택합니다.

그리고 runfile [local]을 선택합니다.

그러면 나타나는 명령 중 첫 번째 wget 명령을 복사합니다.

터미널에 붙여넣고 기다리는거죠^^

다운로드가 조금 오래 걸리니 이 때 cuDNN을 다운로드 합니다.

cuDNN은 8.0.5 버전이고 CUDA 11.1 용으로 받습니다. cuDNN은 왜 , 도대체 왜 그러는지는 모르겠는데 로그인을 해야합니다.ㅠㅠ.

저기서 cuDNN Library for Linux x86_64를 선택합니다.

CUDA Toolkit이 다운로드가 완료되면~

chmod 명령으로 실행권한을 주고

sudo sh 명령으로 실행합니다.

위 그림처럼 CUDA TOOLKIT을 받는 페이지의 안내대로 복사해도 됩니다.

조금 오래 기다린 다음 Continue를 선택합니다.

그리고 accept라는 단어를 타이핑 해줍니다.^^

뭐 드라이버를 설치하지 않았다면 드라이버를 누르고, 아니면 위 그림처럼 선택해서 설치하면 됩니다. 저는 별도로 이 영상의 설치가 진행되기 전에 sudo apt install nvidia-driver-460 명령으로 드라이버를 이미 설치했습니다.

이제 위 그림의 터미널처럼 결과가 나타나면 잘 설치된 것입니다.

경로를 추가하기 위해 nano 명령으로 .bashrc를 엽니다.

그리고 저 화면에 보이는 export로 시작하는 세 줄을 추가합니다.

이제 다시 source 명령으로 bashrc를 읽고

cuDNN을 다운로드 받던 페이지 상단 어디를 뒤져보면 installation guide가 나타납니다.^^. 그걸 클릭합니다.

그 화면의 지시를 따릅니다. 먼저 다운로드 받은 화면으로 가서

tar 명령으로 압축을 풀고~

cuDNN 헤더 파일을 복사하는 명령을 실행하고

libcudnn 파일들을 복사하는 명령을 카피해서 실행합니다.^^

이제 실행 권한을 인가하고~~~

재부팅을 합니다.

이제는 뭐~ 확인인데, ncvv -V 명령으로 잘 설치되었는지 확인하구요.

이제 python 환경 구축을 위해 python3-venv를 설치합니다. 그전에 venv_envs라는 폴더를 저는 만들어 두었습니다.

python3-venv를 pip 자막이 잘못되었네요. pip 명령으로 실행하고.

python3 -m venv 명령으로 저는 tf24라는 환경을 만들었습니다.

그리고 그 환경으로 들어가는 방법은 source 명령으로 들어갑니다. activate 파일이 있는곳까지 경로를 지정해야하니 좀 귀찮긴합니다.

그렇게 하면 위 그림처럼 프럼프트에 환경이름이 붙게 됩니다.

환경에서 빠져나올때는 deactivate 명령을 사용하면 됩니다.

이 과정이 조금 귀찮을 수 있으니 .bashrc를 조금 수정해서 alias를 설정하도록 합니다.

위 화면에 보이는 alias tf24라고 시작하는 줄을 입력해 둡니다. 이제 터미널에서는 앞으로는 tf24라고 명령을 주면 됩니다.

터미널을 껐다 켜든지, 혹은 source로 다시 bashrc를 읽으면 됩니다.

짠~

이제 pip를 업그레이드를 하고

텐서플로우 gpu 버전을 설치합니다.

간단히 python으로 들어가서 tensorflow를 import해서 위와 같은 메세지가 나오면 됩니다.

이제 jupyter와

필요한 몇몇 모듈을 설치합니다.

그리고 jupyter를 실행합니다.

mnist 데이터를 이용해서 CNN을 간단히 구성해서 테스트했는데 괜찮네요^^

음... GPU를 더 좋은걸 ... 구해야....

그래도 엄청 빠릅니다. CPU만 쓸때에 비해~^^ 혹시 이 과정중에 libcusolver.so.10라는 단어가 들어간 에러가 난다면,

sudo ln -s /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcusolver.so.11 /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcusolver.so.10

명령을 실행하면 됩니다.^^

반응형