2022-07-12 2 분 소요
ubuntu 20.04, nvidia driver 495, cuda 11.3, cudnn 8.2.1, pytorch 버전을 설치하는 방법입니다.
우분투에서 파이썬 가상환경도 만들어봅니다.
기존 nvidia, cuda 완전 삭제
혹시 우분투에 nvidia, cuda를 설치한 적이 있다면 해당 명령어를 터미널에 실행해보길 바란다. 1
$ sudo apt-get purge nvidia*
$ sudo apt-get autoremove
$ sudo rm -rf /usr/local/cuda*
설치가능한 드라이버 확인
그래픽 카드 및 설치 가능한 드라이버를 다음 명령어로 확인해본다.
- 이제 설치하고픈 버전을 골라 설치하거나, 자동으로 드라이버를 설치한다. 2
본인은 nvidia-driver-495로 설치해보겠다.
# 자동으로 드라이버 설치 $ sudo ubuntu-drivers autoinstall
# 원하는 버전 설치 $ sudo apt install nvidia-driver-495
nvidia 드라이버 설치가 끝나면 NVIDIA kernel module의 load를 도와주는 modprobe 패키지를 설치한다. 3
$ sudo apt-get install dkms nvidia-modprobe
그리고 다음 명령어로 마무리해준다.
$ sudo apt update $ sudo apt upgrade # 재부팅 $ sudo reboot
- 재부팅 후 설치가 잘 되었는지 확인하기 위해 다음 명령어를 실행해본다.
아래처럼 잘 나오면 설치가 잘 된것이다.
cuda 11.3 설치
- cuda 11.3을 설치하기 위해 해당 사이트에 들어간다.
- NVIDIA DEVELOPER - CUDA Toolkit Archive
- 그 다음, linux -> x86_64 -> Ubuntu -> 20.04 -> runfile(local)로 가 해당 명령어를 실행한다.
# runfile(local) $ wget //developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run $ sudo sh cuda_11.3.1_465.19.01_linux.run
# 만약 위 과정이 안되면 아래 명령어를 실행한다. - deb(local) $ wget //developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin $ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 $ wget //developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda-repo-ubuntu2004-11-3-local_11.3.1-465.19.01-1_amd64.deb $ sudo dpkg -i cuda-repo-ubuntu2004-11-3-local_11.3.1-465.19.01-1_amd64.deb $ sudo apt-key add /var/cuda-repo-ubuntu2004-11-3-local/7fa2af80.pub $ sudo apt-get update $ sudo apt-get -y install cuda
- Continue 후, accept, 그 다음 Driver 선택을 해제후 Install 한다.
- 설치가 잘 진행되었다면 아래 그림처럼 나올 것이다.
만약 gcc가 없어서 문제가 발생한다면, 다음 명령어를 수행한다.
$ sudo apt update $ sudo apt install build-essential $ sudo apt-get install manpages-dev
cuda 버전을 확인하고 싶으면, 다음 명령어를 실행한다.
CUDA Toolkit 관련 설정을 환경 변수에 추가하기 위해 다음 명령어를 실행한다. 4
$ sudo sh -c "echo 'export PATH=$PATH:/usr/local/cuda-11.3/bin'>> /etc/profile" $ sudo sh -c "echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64'>> /etc/profile" $ sudo sh -c "echo 'export CUDARDIR=/usr/local/cuda-11.3'>> /etc/profile" $ source /etc/profile
cuDNN 설치
- cuDNN을
설치하기 위해 해당 사이트에 접속한다.
- NVIDIA cuDNN
- NVIDIA 계정이 있어야 한다. 없다면 회원가입해야 한다는 점 유의한다.
- 그림에 표시한대로 따라 다운로드 받는다.
- 다운로드 받은 파일을 압축풀어 파일을 복사한다.
- 복사 명령어 : cp [복사할 디렉토리/파일] [복사될 디렉토리/파일]
- 압축 풀기 명령어 : tar xvzf [압축 파일명]
*은 모든 것을 포함한다는 의미
$ tar xvzf cudnn-11.3-linux-x64-v8.2.1.32.tgz $ sudo cp cuda/include/cudnn* /usr/local/cuda/include $ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 $ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* $ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 $ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 $ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 $ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 $ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 $ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 $ sudo ln -sf /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8.2.1 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn.so.8
새로 추가된 라이브러리를 시스템에서 찾을 수 있도록 한다.
다음은 설정이 제대로 되었는지 확인하기 위한 명령어이다.
ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep libcudnn
python 가상환경 설치
먼저 python 버전을 확인하고, venv를 설치해준다. 5
$ python3 --version $ sudo apt-get install python3-venv
그다음, 원하는 이름으로 가상환경을 생성한다.
$ python3 -m venv [가상환경 이름] # 예시로 $ python3 -m venv tf2.8
- 다음은 가상환경를 활성화하는 과정이다.
활성화하면 터미널 앞에 가상환경 이름이 나타날 것이다.
$ source [가상환경 이름]/bin/activate # 예시로 $ source tf2.8/bin/activate
- deactivate를 실행하면, 가상환경은 종료된다.
pytorch 및 필수 패키지 설치
- 가상환경을 활성화했다면 다음 패키지를 설치해준다.
- pytorch는 cuda 11.3에 맞는 버전이다.
- pytorch 버전을 알고 싶으면 다음 사이트를 참고하길 바란다.
- pytorch.org - get_started
그외 필요한 패키지는 아래와 같은 방식으로 설치해주면 된다.
$ pip install --upgrade pip --user $ pip install pandas matplotlib seaborn scipy sklearn $ pip install jupyter notebook $ pip install ipykernel $ python -m ipykernel install --user --name 가상환경이름 --display-name 표시할 가상환경 이름 $ pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url //download.pytorch.org/whl/cu113