우분투 내 딥러닝 학습 환경 구축

Seong Woong Kim·2023년 11월 7일
1

상황

예전에 우분투 22.04 LTS를 설치하고, 아무것도 없는 환경에서 딥러닝 학습을 위한 환경을 처음부터 구축했었는데, 그 때의 진행 사항들을 정리하고자 한다.

Optional이라고 표기된 것은 필수는 아니다.

  • 그 때 당시의 버전 기준으로 작성한다.
    • Cuda 11.7 & cuDNN v8.7.0
    • Docker 설치 포함
    • CMake & OpenCV 4.5.0 설치(빌드) 포함 (Optional)

1. 컴퓨터에서 GPU를 인식했는지 확인

# 컴퓨터에 인식된 GPU 정보(GPU가 물리적으로 잘 설치되었는지 확인할 수 있음)
 lshw -C display 



2. Nvidia-driver 설치

nvidia driver 515 버전 설치

sudo apt install nvidia-driver-515

참고

자신의 GPU에 맞는 드라이버 추천 받기

sudo ubuntu-drivers devices



3. GPU 확인

다음 명령으로 정상적으로 GPU가 잡혀야 한다.

nvidia-smi -L


4. Cuda toolkit 11.7 설치

1. Cuda Runfile 실행

위 사이트에 접속해서 이렇게 선택하면 아래의 명령어 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을 누름


2. CUDA PATH 설정

설치가 완료되면 이렇게 나온다
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

샘플 경로이며, 버전에 따라 상이함.



5. CuDNN 설치

1. 아래 링크 접속

https://developer.nvidia.com/cudnn


2. ‘Download cuDNN’ 클릭

Login 진행

계정이 없다면 계정 생성 필요


3. Agreement 클릭

'I Agree To the Terms of the cuDNN Software License Agreement' 클릭


4. Local Installer 다운로드

‘Download cuDNN v.8.7.0 (~~) , for CUDA 11.x’ 클릭 후
Local Installer for Linux x_86_64 클릭해서 다운로드

💡 CuDNN 호환 Version 확인


5. 압축 풀기

다운로드 받은 폴더 경로로 이동

# 경로명이 다를 수 있음
cd ~/Downloads

압축을 풀어줌

  • 압축파일 이름은 포스트에 있는 이름과 다를 수 있으니 유의
tar xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz 

6. 필요한 파일 복사 후 확인

# 파일 복사
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



6. Docker 및 nvidia container toolkit 설치

1. Docker 설치

# 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

2. nvidia-docker toolkit 설치

패키지 레포지터리 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

3. 설치 확인

# ubuntu 22.04
sudo docker run --rm --privileged --gpus all nvidia/cuda:11.7.0-base-ubuntu22.04 nvidia-smi



7. Python 설정

vi ~/.bashrc
alias python=python3



8. CMake 설치 (optional)

1. CMake 압축 파일 압축 해제

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
  1. qt5, SSL 패키지 설치
# 아래 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           

2. bootstrap 파일 실행

다운로드한 cmake 설치 파일의 경로로 이동하여 bootstrap파일 실행

./bootstrap
make
sudo make install

💡 Bootstrapped 후 gmake 하라고 나오는데 리눅스에서는 gmakemake가 차이가 없다.



9. Opencv 빌드 (optional)

1. 패키지 설치

#패키지 업데이트
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

2. opencv 소스 설치

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.0.zip
unzip opencv.zip

3. 빌드 구성

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 ../

4. 빌드 & 설치

#빌드
make -j $(nproc)

#설치
sudo make install
sudo ldconfig

5. 버전 확인 (설치 완료)

pkg-config --modversion opencv4

10. 아나콘다 가상 환경 설치

💥 Opencv를 빌드할 경우, 빌드 전 아나콘다를 설치하면 시스템이 아나콘다 파이썬 경로를 잡기 때문에 빌드 에러 발생

1. 설치파일 다운로드

# 최신 버전 홈페이지에서 확인
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh

2. 환경변수로 Anaconda PATH 설정

sudo vi ~/.bashrc

텍스트 편집기 열리면 문구 맨 끝에 추가하고 저장

export PATH=~/anaconda3/bin:~/anaconda3/condabin:$PATH


3. 아나콘다 설치

다운로드한 경로에서 설치된 파일(Anaconda3-2020.11-Linux-x86_64.sh)을 bash 쉘로 실행

  • 실행 후 엔터를 쳐 가며 설정

  • 설정 중 '설치 경로'는 기본적으로 /home/{username}/anaconda3에 설치됨

    • 필요할 경우 이 경로를 변경
  • 그러나 PATH는 아나콘다에서 자동으로 등록해 주기 때문에 걱정할 필요는 X

bash Anaconda3-2020.11-Linux-x86_64.sh

4. 업데이트

source ~/.bashrc
profile
성장과 연구하는 자세를 추구하는 AI 연구개발자

0개의 댓글