
이번 글에서는 GCP에서 딥러닝 환경을 구축하는 방법에 대해 자세히 다뤄보겠습니다. GCP 인스턴스 생성 및 기본 설정 과정은 이미 다양한 자료에서 다루어졌기 때문에, 이 글에서는 그 과정을 간략히 언급한 후, 딥러닝 작업을 위한 필수 라이브러리 설치 및 설정에 집중하겠습니다.
저는 GCP VM 인스턴스 설정에서 Tesla V100 GPU, Ubunto를 사용했습니다.
먼저, ssh에 연결하여, Python과 pip를 설치하여 Python 패키지와 Jupyter Notebook을 설치할 수 있는 환경을 마련합니다.
sudo apt update
sudo apt upgrade -y
sudo apt install python3.8
sudo apt install python3-pip
python3 -m pip install --upgrade pip
cuDNN 설치와 같은 작업을 쉽게 관리할 수 있도록 Jupyter Notebook을 설치하고 설정합니다.
sudo apt-get install jupyter
jupyter notebook --generate-config
vi ~/.jupyter/jupyter_notebook_config.py
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
jupyter notebook
로컬 브라우저에서 http://<인스턴스의 외부IP>:8888 주소로 접속합니다.
처음 접속할 때 터미널에 표시된 토큰을 사용해 로그인하고, 이후 비밀번호를 설정합니다.
Jupyter Notebook에서 나와서, 다시 터미널에서 아래 코드들을 입력합니다.
sudo apt install nvidia-driver-535
설치 후 시스템을 재부팅
sudo reboot
-설치 상태 확인
nvidia-smi
CUDA는 GPU 가속을 위한 필수 라이브러리입니다.
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
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
nvcc -version
NVIDIA cuDNN (https://developer.nvidia.com/cudnn)다운로드 페이지로 이동합니다.
로그인 또는 계정 생성 후, Archive of Previous Releases로 이동

cudnn-11.3-linux-x64-v8.2.x.x.tgz 파일을 다운로드합니다.
# 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*
!cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
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
import torch
print(torch.cuda.is_available()) # True가 출력되면 성공적으로 설치된 것입니다.
print(torch.cuda.get_device_name(0)) # GPU 이름이 출력됩니다.
처음에 아무것도 모르고 설치를 시도하다가 호환성 문제로 하루종일 붙들고 있었습니다. 이 글을 읽는 분들은 저처럼 시간 낭비하지 않으시길 바라며, 이 가이드를 통해 문제를 쉽게 해결하셨으면 좋겠습니다...!
다음 글에서는 GCP 사용 중 주의해야 할 사항에 대해 이야기하겠습니다. 이 역시 반나절 이상을 해결하려고 고군분투하며 얻은 저의 피, 땀, 눈물로 얻은 결과들입니다...