딥러닝용 ubuntu 18.04 서버 셋업

y30n9ju1v·2021년 10월 3일
0

딥러닝

목록 보기
3/4

1. software 저장소를 daum으로 변경

S/W 업데이트 및 설치시 빠른 네트워크 속도로 파일을 받아 오기 위해 저장소 위치를 daum으로 변경합니다.

변경 후 소스 리스트를 업데이트 및 패키지를 업그레이드 합니다.

$ sudo apt update
$ sudo apt upgrade

2. 패키지 설치

개발에 필요한 기본적인 패키지를 설치합니다.

$ sudo apt install git vim build-essential

3. 한글 입력 설정

Language Support 를 실행시켜 추가적인 패키지 설치 -> 로그 아웃 후 다시 로그 인 -> Region & Language 의 Input Sources 에서 Korean (Hangul) 추가

4. oh-my-zsh 설치

터미널 사용시 편리한 oh my zsh를 설치합니다.

$ sudo apt install zsh curl wget
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

설치 후 ~/.zshrc 파일을 열어 테마를 "bira"로 변경 후 적용

5. 그래픽 드라이버 설치

아래 명령어로 추천하는 드라이버를 찾아 설치합니다.

$ ubuntu-drivers devices

추천된 버전 설치

$ sudo apt install nvidia-driver-470

설치 확인

6. ssh 설치

외부에서 딥러닝 서버에 접속할 수 있도록 ssh를 설치합니다.

$ sudo apt install openssh-server

ssh 설치 확인

$ sudo systemctl status ssh

만약 ssh 가 실행 중이 아니면 아래 명령어로 실행

$ sudo systemctl enable ssh
$ sudo systemctl start ssh

방화벽에 ssh 를 허용

$ sudo ufw enable
$ sudo ufw allow ssh

7. docker 설치

예전에는 시스템에 직접 cuda, cudnn과 tensorflow를 설치하여 사용하였으나 관리 문제와 nvidia S/W와 시스템 충돌로 인해 문제가 되었던 적이 많았기에 docker를 설치하고 그 안에서 cuda 및 다른 S/W를 설치하여 사용합니다.

1) docker 패키지 다운로드 및 설치

https://download.docker.com/linux/ubuntu/dists/ 에서 자신의 os버전에 맞는 아래 3가지 최신 패키지 다운로드 및 설치

$ sudo dpkg -i containerd.io.deb docker-ce-cli.deb docker-ce.deb

기본적으로 docker는 root만 사용할 수 있기에 일반 사용자도 사용할 수 있도록 그룹을 만들고 그 그룹에 사용자 추가합니다.

2. 일반 유저도 docker를 사용할 수 있도록 권한 부여

$ sudo groupadd docker
$ sudo usermod -aG docker $USER
$ newgrp docker
$ docker --version

8. 딥러닝 개발환경 구축

도커 컨테이너안에서 gpu를 사용할 수 있도록 nvidia-container-toolkit을 설치합니다.

1) Nvidia Container Toolkit 설치

nvidia-container-toolkit을 설치하기 위해 source list추가

$ distribution=(. /etc/os-release;echo $IDVERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

nvidia-container-toolkit 설치

$ sudo apt update
$ sudo apt install -y nvidia-container-toolkit
$ sudo systemctl restart docker

2) Docker 이미지 다운로드

자신의 시스템에 맞는 cuda, cudnn 버전의 이미지를 다운받습니다.
저는 아래 설명을 참고하여 runtime으로 다운 받았습니다.

$ docker pull nvidia/cuda:11.4.1-cudnn8-runtime-ubuntu18.04

아래 명령으로 다운받은 Docker 이미지 실행 확인합니다.

$ docker run --rm --gpus all nvidia/cuda:11.4.1-cudnn8-runtime-ubuntu18.04 nvidia-smi

3) 컨테이너 만들기

gpu를 사용할 수 있도록 그리고 jupyter를 사용할 계획이므로 8888포트를 열어 컨테이너를 만들었습니다.

$ docker run -it --gpus all -p 8888:8888 -v ~/Downloads:/data nvidia/cuda:11.4.1-cudnn8-runtime-ubuntu18.04 /bin/bash

4) tensorflow 설치

우선 파이썬 패키지 매니저인 pip를 설치합니다.

$ apt update;apt upgrade
$ apt install python3-dev python3-pip python3-venv

다음으로 최신 텐서플로우를 설치합니다.

$ pip3 install --upgrade pip
$ pip3 install --upgrade tensorflow==2.6.0

텐서플로우에서 gpu가 사용가능한지 확인합니다.

$ python3
import tensorflow as tf
print(tf.test.is_gpu_available())


True가 출력되었습니다.

5) jupyter 설치

좀 더 편하게 딥러닝을 개발하기 위해 jupyter를 설치합니다.

$ pip3 install --upgrade jupyter

외부에서 접속시 사용할 jupyter 비밀번호를 설정합니다.

$ jupyter notebook password
Enter password:
Verify password:

jupyter를 실행하고 외부에서 접속해 봅니다.

$ jupyter notebook --ip=0.0.0.0 --allow-root --no-browser

6) pytorch 설치

딥러닝을 배우는데 tensorflow보다 pytorch가 더 많이 쓰인다 하고 주변에 pytorch를 물어볼 사람이 많고 간단한 모델을 구현한 tensorflow코드와 pytorch코드를 보았는데 뭔가 pytorch가 깔끔하고 맘에 들어 pytorch를 사용하기로 하였습니다.

공식 홈페이지 https://pytorch.org/get-started/locally 에서 설치 명령을 찾아 설치합니다.
이럴줄 알았으면 cuda 11.1 용 docker 이미지를 다운받을걸 그랬습니다만 cuda 11.4 에서도 정상 동작하는 것 같습니다.

$ pip3 install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html

1개의 댓글

comment-user-thumbnail
2023년 2월 3일

정말 많은 도움 되었습니다.
감사합니다 행님~~

답글 달기