0. 서론
1. WSL 2 및 Ubuntu 설치하기
1.1 PowerShell 켜기
1.2 Windows Subsystem for linux 기능 활성화
1.3 Virtual Machine feature 활성화
1.4 linux 업데이트 커널 패키지 설치
2. NVIDIA 그래픽 드라이버 설치하기
3. Ubuntu(WSL)에서 Docker와 nvidia-docker 설치하기
3.1 Ubuntu 열기
3.2 Docker 설치
3.3 NVIDIA-DOCKER 설치
4. Docker에 Tensorflow-GPU 설치하기
4.1 Tensorflow-GPU설치하기
4.2 Jupyter Notebook을 Windows에서 실행
4.3 Tensorflow-gpu가 설치 되었는지 확인
윈도우 버전을 확인하려면
- A. 윈도우키와 R을 누르고
- B. winver입력
- C. 윈도우버전 확인
윈도우 검색창에서 powershell 입력 후 관리자로 실행시키면 됩니다.
WSL2을 사용하려면 윈도우의 기능인 Windows Subsystem for Linux(WSL) 기능을 활성화 시켜주어야 합니다.
# powershell에 아래 명령어 입력
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
WSL2을 사용하려면 윈도우의 기능인 Virtual Machine 기능을 활성화 시켜주어야 합니다.
#powersehll에 아래 명령어 입력
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
아래 링크를 클릭하여 리눅스 업데이트 커널 패키지를 설치할 수 있습니다.
linux 업데이트 커널 패키지
WSL에는 두가지 버전이 있는데 WSL 1과 WSL 2가 있다.
WSL 2는 WSL 1보다 파일 시스템 성능 향상되고 전체 시스템 호출 호환성 지원합니다.
그러하여 기본버전을 WSL2로 설정합니다.
#powersehll 관리자 모드에서 아래 명령어 입력
wsl --set-default-version 2
마지막으로 Microsoft Store에서 Ubuntu 20.04.4 LTS를 설치합니다.
사용자 이름과 비밀번호 입력하면 된다.
그러면 Ubuntu(WSL)와 WSL2가 설치가 완료 된다.
기존에 설치 되어 있는 NVIDIA 그래픽 드라이버가 아닌
WSL용 NVIDIA 그래픽 드라이버가 필요합니다.
1. WSL용 그래픽 드라이버 링크로 접속
2. 자신에 해당하는 그래픽카드와 운영체제 선택
3. 그래픽 드라이버 파일 다운로드
4. 그래픽 드라이버 설치
wsl2에서 systemctl이나 systemd 명령어를 이용하면 아래와 같이 에러가 발생한다.
'System has not been booted with systemd as init system (PID 1). Can't operate'
그러하여 service 명령어를 사용할 수 있도록 만들어줘야 한다.
ps.. 하지만 도커는 root가 실행해야한다.
1. visudo 구동
# Ubuntu에 아래 명령어 입력
sudo visudo
2. service 권한 모든 사람이 사용할 수 있도록 설정
A. 맨 아래에 아래 코드 삽입
%sudo ALL=NOPASSWD: /usr/sbin/service
B. ctrl 와 o를 함께 누르고 enter key눌러 저장
C. ctrl 와 x를 함께 누르고 나가기
1. 패키지 업데이트
'apt-get update'란 사용 가능한 패키들과 그 버전에 대한 정보를 업데이트하는 명령어입니다.
# Ubuntu에 아래 명령어 입력
$ sudo apt-get update
2. 패키지중 https를 통해 데이터 및 패키지를 접근하는 패키지 등을 설치
# Ubuntu에 아래 명령어 입력
$ sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
3. Docker의 GPG key를 추가
GPG란 툴이나 소스 등을 배포 할 때 프로그램의 변조를 검사 할 수 있는 소프트웨어이다..
GPG key는 쉽게 설명하자면 GPG key를 통해 프로그램의 변조를 확인 해주는 값이다.
# GPG key 추가
# Ubuntu에 아래 명령어 입력
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. 안정화된 docker 저장소 설정
# Ubuntu에 아래 명령어 입력
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
5. 도커 엔진 설치
#설치 가능한 리스트 업데이트
# Ubuntu에 아래 명령어 입력
$ sudo apt-get update
#apt-get install 명령어를 사용하여 도커엔진 설치하기
# Ubuntu에 아래 명령어 입력
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 도커 시작하기
# Ubuntu에 아래 명령어 입력
$ sudo service docker start
# 도커엔진이 잘 설치 되었는지 확인하기
# Ubuntu에 아래 명령어 입력
$ sudo docker run hello-world
1. 패키지 저장소 추가
# Ubuntu에 아래 명령어 입력
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
#nvidia-docker gpgkey 추가
# Ubuntu에 아래 명령어 입력
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
# 패키지 저장소 추가
# Ubuntu에 아래 명령어 입력
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
2. 설치 가능한 리스트 업데이트 및 cuda-toolkit 설치
#설치 가능한 리스트 업데이트
# Ubuntu에 아래 명령어 입력
$ sudo apt-get update
# cuda-toolkit 설치
# Ubuntu에 아래 명령어 입력
$ sudo apt-get install -y nvidia-container-toolkit
3. 설치 되었는지 확인
성공적으로 설치 되었는지 확인하기 위하여 도커 시스템 재시작 후 도커 실행합니다.
#설치 가능한 리스트 업데이트
# Ubuntu에 아래 명령어 입력
$ sudo service docker restart
# 도커 실행
# Ubuntu에 아래 명령어 입력
$ sudo docker run --gpus all nvidia/cuda:11.8.0-base-ubuntu20.04 nvidia-smi
아래와 같이 나온다면 정상적으로 설치가 완료된 것입니다.
Tensorflow-gpu 이미지 중 jupyter와 py3를 실행 할 수 있는 이미지를 설치하여
host os 즉 windows os에서 jupyter notebook을 사용 할 수 있도록 설치
docker 이미지를 실행하여 접속하려면
1. 이미지를 다운로드(docker pull)
2. 다운 받은 이미지로 컨테이너 생성(docker create)
3. 생성된 컨테이너 실행(docker start)
4. 실행된 컨테이너 접속을 하여야 한다.(docker attach) 위와 같은 단계로 명령어를 실행시켜야 한다.
하지만 docker run 명령어는 위 단계를 한 번에 실행 시켜줍니다.
# tensorflow/tensorflow:latest-gpu-py3-jupyter 이미지 설치 및 실행
# Ubuntu에 아래 명령어 입력
sudo docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
아래 박스쳐진 주소를 브라우저에 입력하면 Jupyter Notebook Windows에서 실행
아래와 같이 브라우저에 Jupyter Notebook이 나옵니다.
1. 새로운 ipynb 만들기
2. Tensorflow가 GPU인식 하는지 확인
device_lib.list_local_devices() 명령어를 통해 tensorflow 인식하는지 확인
# 만든 Jupyter notebook에 아래 명령어 실행
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
아래같이 GPU가 정보가 있다면 Tensorflow-GPU가 잘 설치된 것 입니다.
감사합니다. 많은 도움 됐어요.