예전에 우분투 22.04 LTS
를 설치하고, 아무것도 없는 환경에서 딥러닝 학습을 위한 환경을 처음부터 구축했었는데, 그 때의 진행 사항들을 정리하고자 한다.
Optional
이라고 표기된 것은 필수는 아니다.
- 그 때 당시의 버전 기준으로 작성한다.
Cuda 11.7
&cuDNN v8.7.0
Docker
설치 포함CMake
&OpenCV 4.5.0
설치(빌드) 포함 (Optional)
# 컴퓨터에 인식된 GPU 정보(GPU가 물리적으로 잘 설치되었는지 확인할 수 있음)
lshw -C display
nvidia driver 515 버전 설치
sudo apt install nvidia-driver-515
참고
자신의 GPU에 맞는 드라이버 추천 받기
sudo ubuntu-drivers devices
다음 명령으로 정상적으로 GPU가 잡혀야 한다.
nvidia-smi -L
위 사이트에 접속해서 이렇게 선택하면 아래의 명령어 2줄이 나온다.
아래의 명령어를 실행한다.
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
sudo sh cuda_11.7.0_515.43.04_linux.run # 이 파일을 runfile이라고 함.
실행하면 질문들이 나온다.
continue 클릭
accept 입력
앞에서 NVDIA 드라이버를 설치해줬기 때문에 드라이버칸에 SPACE를 눌러서 항목을 제외하고 Install을 누름
설치가 완료되면 이렇게 나온다
PATH includes … LD_LIBRARY_PATH includes …
부분을 확인한다.
설치 완료 확인 후, 터미널에서 에디터 실행 후, 맨 아래에
아래의 명령어를 입력해 환경변수 PATH
, LD_LIBRRARY_PATH
에 경로를 추가한다.
vi ~/.bashrc
export PATH={설치 결과에 나온 PATH 주소}/bin:$PATH
export LD_LIBRARY_PATH={설치 결과에 나온 LD_LIBRARY_PATH 주소}:$LD_LIBRARY_PATH
샘플 경로이며, 버전에 따라 상이함.
https://developer.nvidia.com/cudnn
Login 진행
계정이 없다면 계정 생성 필요
'I Agree To the Terms of the cuDNN Software License Agreement'
클릭
‘Download cuDNN v.8.7.0 (~~) , for CUDA 11.x’
클릭 후
Local Installer for Linux x_86_64
클릭해서 다운로드
💡 CuDNN 호환 Version 확인
- https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html
- compute ability : 8.5 (https://ko.wikipedia.org/wiki/CUDA)
- 버젼은 현재 포스트와 다를 수 있음
다운로드 받은 폴더 경로로 이동
# 경로명이 다를 수 있음
cd ~/Downloads
압축을 풀어줌
tar xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz
# 파일 복사
sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.7/include
sudo cp -P cuda/lib/libcudnn* /usr/local/cuda-11.7/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda-11.7/lib64/libcudnn*
# 확인
cat /usr/local/cuda-11.7/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
# Ubuntu 22.04
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
docker # 설치 확인
sudo apt install docker-compose # if needed
Add Docker’s official GPG key & Stable repo로 설정
# Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# Stable repo로 설정
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
패키지 레포지터리 GPG key 등록
# Ubuntu 22.04
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
&& curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu22.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
업데이트
sudo apt update
sudo apt install -y nvidia-docker2
sudo systemctl restart docker
# ubuntu 22.04
sudo docker run --rm --privileged --gpus all nvidia/cuda:11.7.0-base-ubuntu22.04 nvidia-smi
vi ~/.bashrc
alias python=python3
cmake-3.17.0-rc1.tar.gz
를 다운로드하여 압축해제
# 다운로드
wget https://github.com/Kitware/CMake/releases/download/v3.17.0-rc1/cmake-3.17.0-rc1.tar.gz
# 압축해제
tar -xvzf cmake-3.17.0-rc1.tar.gz
# 아래 3개 명령어 실행
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools
sudo apt-get install build-essential
sudo apt install libssl-dev
# Ubuntu 22.04에선 미지원
sudo apt install qt5-default
다운로드한 cmake 설치 파일의 경로로 이동하여 bootstrap파일 실행
./bootstrap
make
sudo make install
💡 Bootstrapped 후
gmake
하라고 나오는데 리눅스에서는gmake
나make
가 차이가 없다.
#패키지 업데이트
sudo apt update && sudo apt upgrade
sudo apt install libdc1394-dev libxvidcore-dev \
libx264-dev libxine2-dev libv4l-dev v4l-utils \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libgtk-3-dev
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
unzip opencv.zip
cd opencv-4.5.0
mkdir build & cd build
#opencv 패키지 구성은 상황에 따라 변경 가능
cmake -DCMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=OFF -D WITH_IPP=OFF -D WITH_1394=OFF \
-D BUILD_WITH_DEBUG_INFO=OFF -D BUILD_DOCS=OFF \
-D BUILD_EXAMPLES=OFF -D BUILD_PACKAGE=OFF -D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF -D WITH_QT=OFF -D WITH_GTK=ON \
-D WITH_OPENGL=ON -D WITH_V4L=ON -D WITH_FFMPEG=ON \
-D WITH_XINE=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../
#빌드
make -j $(nproc)
#설치
sudo make install
sudo ldconfig
pkg-config --modversion opencv4
💥 Opencv를 빌드할 경우, 빌드 전 아나콘다를 설치하면 시스템이 아나콘다 파이썬 경로를 잡기 때문에 빌드 에러 발생
# 최신 버전 홈페이지에서 확인
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
sudo vi ~/.bashrc
텍스트 편집기 열리면 문구 맨 끝에 추가하고 저장
export PATH=~/anaconda3/bin:~/anaconda3/condabin:$PATH
다운로드한 경로에서 설치된 파일(Anaconda3-2020.11-Linux-x86_64.sh
)을 bash 쉘로 실행
실행 후 엔터를 쳐 가며 설정
설정 중 '설치 경로'는 기본적으로 /home/{username}/anaconda3
에 설치됨
그러나 PATH는 아나콘다에서 자동으로 등록해 주기 때문에 걱정할 필요는 X
bash Anaconda3-2020.11-Linux-x86_64.sh
source ~/.bashrc