[GCP] GPU 사용을 위한 환경 구축하기 - Jupyter Notebook 사용

Rown·2024년 9월 1일
post-thumbnail

서론

이번 글에서는 GCP에서 딥러닝 환경을 구축하는 방법에 대해 자세히 다뤄보겠습니다. GCP 인스턴스 생성 및 기본 설정 과정은 이미 다양한 자료에서 다루어졌기 때문에, 이 글에서는 그 과정을 간략히 언급한 후, 딥러닝 작업을 위한 필수 라이브러리 설치 및 설정에 집중하겠습니다.
저는 GCP VM 인스턴스 설정에서 Tesla V100 GPU, Ubunto를 사용했습니다.

환경 세팅할때 주의 점

각 라이브러리와 도구의 버전 호환성은 매우 중요합니다. 저도 처음 설치할 때 이 부분을 간과했다가, 몇 시간을 낭비한 경험이 있습니다... 그러니 아래 방법을 차근차근 따라하시면 정상적으로 환경을 설정할 수 있을 것입니다.

설치한 라이브러리와 도구 버전

  • Python: 3.8
  • Jupyter Notebook: 최신 (설치 시점 기준)
  • NVIDIA 드라이버: 535
  • CUDA Toolkit: 11.3
  • cuDNN: 8.2
  • PyTorch: 1.10.0 + cu113

설치 과정

1. Python 및 pip 설치

먼저, ssh에 연결하여, Python과 pip를 설치하여 Python 패키지와 Jupyter Notebook을 설치할 수 있는 환경을 마련합니다.

1.1 시스템 패키지 업데이트:

sudo apt update
sudo apt upgrade -y

1.2 Python 3.8 설치:

  • 이미 Python 3.8이 설치되어 있지 않는 경우:
sudo apt install python3.8

1.3 pip 설치:

sudo apt install python3-pip

1.4 pip 업그레이드:

python3 -m pip install --upgrade pip

2. Jupyter Notebook 설치 및 설정

cuDNN 설치와 같은 작업을 쉽게 관리할 수 있도록 Jupyter Notebook을 설치하고 설정합니다.

2.1. Jupyter Notebook 설치:

  • Jupyter Notebook을 설치합니다.
sudo apt-get install jupyter

2.2 Jupyter Notebook 설정 파일 생성:

  • 설정 파일을 생성합니다.
jupyter notebook --generate-config

2.3 설정 파일 수정:

  • 설정 파일을 수정하여 외부 접속과 보안을 설정합니다.
vi ~/.jupyter/jupyter_notebook_config.py

2.4 설정 파일에 다음 내용을 추가합니다:

  • i 입력후 아무곳에 해당 내용 복사 후 붙여넣기
  • 이휴 esc -> :wq 눌러서 나가기
c = get_config()
c.JupyterApp.config_file_name = 'jupyter_notebook_config.py'
c.NotebookApp.allow_origin = '*'
c.NotebookApp.ip = 'GCP내부IP'
c.NotebookApp.open_browser = False

2.5. Jupyter Notebook 실행:

jupyter notebook 

2.6. Jupyter Notebook 접속:

로컬 브라우저에서 http://<인스턴스의 외부IP>:8888 주소로 접속합니다.
처음 접속할 때 터미널에 표시된 토큰을 사용해 로그인하고, 이후 비밀번호를 설정합니다.

3. Nvidia 드라이버 설치

Jupyter Notebook에서 나와서, 다시 터미널에서 아래 코드들을 입력합니다.

3.1 Nvidia 드라이버 설치

sudo apt install nvidia-driver-535

3.2 드라이버 설치 확인

설치 후 시스템을 재부팅

sudo reboot

3.3 GPU 상태 확인

-설치 상태 확인

nvidia-smi

4. CUDA 설치

CUDA는 GPU 가속을 위한 필수 라이브러리입니다.

4.1 CUDA 설치 파일 다운로드 및 설치:

wget https://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 --silent --toolkit

4.2 환경 변수 설정

echo 'export PATH=/usr/local/cuda-11.3/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

4.3 CUDA 설치 확인

nvcc -version

5. cuDNN 설치

5.1 cuDNN 다운로드

  • NVIDIA cuDNN (https://developer.nvidia.com/cudnn)다운로드 페이지로 이동합니다.

  • 로그인 또는 계정 생성 후, Archive of Previous Releases로 이동

  • cudnn-11.3-linux-x64-v8.2.x.x.tgz 파일을 다운로드합니다.

5.2 다운로드한 파일 Jupyter을 이용하여 업로드

  • Jupyter notebook을 터미널에서 실행시켜 접속합니다.
  • 업로드 버튼을 눌러 다운받은 파일을 업로드합니다

5.3 cuDNN 설치

  • Jupyter notebook에서 python 셀을 열어서 다음 코드를 실행시킵니다.
# cuDNN 설치 스크립트

# 1. 파일 추출
!tar -xzvf cudnn-11.3-linux-x64-v8.2.0.53.tgz

# 2. cuDNN 파일 복사
!sudo cp cuda/include/cudnn*.h /usr/local/cuda/include/
!sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

# 3. 파일 권한 설정
!sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

5.4 설치 확인

!cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

6. PyTorch 설치

6.1 PyTorch 설치

pip install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

6.2 PyTorch 설치 확인

import torch
print(torch.cuda.is_available())  # True가 출력되면 성공적으로 설치된 것입니다.
print(torch.cuda.get_device_name(0))  # GPU 이름이 출력됩니다.

결론

처음에 아무것도 모르고 설치를 시도하다가 호환성 문제로 하루종일 붙들고 있었습니다. 이 글을 읽는 분들은 저처럼 시간 낭비하지 않으시길 바라며, 이 가이드를 통해 문제를 쉽게 해결하셨으면 좋겠습니다...!

다음 글에서는 GCP 사용 중 주의해야 할 사항에 대해 이야기하겠습니다. 이 역시 반나절 이상을 해결하려고 고군분투하며 얻은 저의 피, 땀, 눈물로 얻은 결과들입니다...

profile
AI 프로젝트 일기

0개의 댓글