Search
Duplicate
🪟

윈도우 머신러닝 개발환경 세팅(WSL 2)

간단소개
윈도우 WSL 2로 머신러닝 환경을 세팅해보자
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
인공지능
Scrap
태그
9 more properties
맥북만 있으면 뭐든지 다 할 수 있을 것 같았던 지난 1.5년...
졸업작품을 위해 음성 데이터를 학습시키는 과정에서 GPU가 필요해졌다. 구글의 Colab으로도 시도해보고 맥북 로컬에서 할 수 있는 방법을 다 뒤져보았지만 그냥 그래픽카드가 들어있는 윈도우 데스크탑을 사용하는게 정신건강에 좋을 것 같았다.
하지만 윈도우 데스크탑에 깔려있는 거라곤 오버워치 뿐....
처음부터 모든 것을 세팅하다보니 순서도 뒤죽박죽이였고 불필요한 세팅까지 해버리는 경우가 많았다.
!
윈도우 WSL2에서 CUDA를 활용해 GPU를 연결하여 데이터 학습용 PC를 만들기 위한 최소한의 가이드를 작성해 보았다.

1. 윈도우 터미널 설치

최소한의 가이드에도 감성이 빠지면 섭섭한 법.. 기본 내장 powershell과 cmd는 너무 못생겼으니 window terminal을 설치해주자
microsoft store에서 window terminal을 검색 후 설치해주자
window 터미널의 간단한 사용법은 다음 포스팅에서 다뤄볼 예정이다.

2. Windows build version 확인

이 작업을 하기 전에 우선적으로 현재 사용하는 PC가 WSL2에 적합한지부터 알아보는 것이 좋다. 마이크로소프트에서 공식 Docs에 제한 요소, 필수 구성요소 등을 아주 자세하게 작성해 두었기 때문에 정확한 정보는 아래 링크에서 참고하자.
현재 내 PC의 빌드 정보를 확인하고 싶다면 설정 → 업데이트 및 보안 → OS빌드 및 시스템 정보 를 들어가면 상세히 볼 수 있다. 공식 문서에서는 21H2버전을 지원하는 PC에서는 사용가능한것 처럼 보인다. 필자의 경우에는 21H1버전을 사용하고 있어서 수동으로 업데이트를 진행하였다.
21H2버전 업데이트는 여기서 확인할 수 있다.
윈도우 빌드 버전이 준비가 되었다면 이제 WSL2를 설치할 순서이다.

3. WSL2 설치

우선 wsl2를 설치하려면 터미널 혹은 powershell을 관리자 권한으로 실행하여야 한다. 위에서 설치한 터미널을 우클릭해서 관리자 권한으로 실행을 클릭한다. 이후 아래 과정을 진행하자.
본격적인 시작 전에 wsl이 설치되어 있는지 확인하자. 아래 명령어를 쳤을 때 설치가 진행되지 않고 도움말이 나온다면 이미 wsl이 설치가 되어있는 것이다.
wsl --install
PowerShell
복사

DISM으로 WSL 관련 기능 활설화

아래 두 명령어를 실행해서 wsl과 vmp를 활성화한다.
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 버전: 10.0.19041.844 이미지 버전: 10.0.19043.928 기능을 사용하도록 설정하는 중 [==========================100.0%==========================]
PowerShell
복사
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 배포 이미지 서비스 및 관리 도구 이미지 버전: 10.0.19043.928 기능을 사용하도록 설정하는 중 [==========================100.0%==========================] 작업을 완료했습니다.
PowerShell
복사
두 작업이 모두 완료되었다면 재부팅을 해주도록 한다.

WSL2 Linux 커널 업데이트

Linux 커널이 최신버전이 아닌 경우 아래 업데이트를 진행하는 것이 좋다. 해당 내용에 대한 공식 문서는 아래 링크에서 볼 수 있다.
아래 링크를 눌러서 커널 업데이트 패키지를 다운받고 실행한다.
이후 터미널을 열어서 WSL 2를 기본 버전으로 설정하자.
wsl --set-default-version 2
PowerShell
복사

원하는 Linux 배포 버전 설치

아래 명령어를 활용해서 설치할 수 있는 배포 목록을 확인한 후, 원하는 운영체제를 설치하자. 버전없이 Ubuntu로 이름이 되어있는 것도 설치해보니 20.04버전으로 확인되었다. 나는 특별히 맞추어야하는 버전이 없었기 때문에 Ubuntu를 설치해 주었다.
wsl --list --online
PowerShell
복사
사진의 설명에도 나오듯이 아래 명령을 활용해서 원하는 버전을 설치할 수 있다.
wsl --install -d Ubuntu
PowerShell
복사

WSL 2 버전 확인하기

정상적으로 WSL 2설정을 마치고 배포버전을 설치했다면 아래 명령어를 활용해서 현재 WSL버전이 2인 것을 확인할 수 있다.
wsl -l -v
PowerShell
복사

4. ubuntu 환경 설정 및 터미널 꾸미기

여기서 부터는 기존에 Mac에서 했던 것과 동일하다. 추천하는 최소한의 설치 목록들이다.
zsh
oh-my-zsh
auto-suggestions (plugin)
syntax-highlighting (plugin)
tmux

5. WSL2에서 CUDA 설치

우선 nvidia에서 제공하는 CUDA on WSL Driver를 설치하자. 아래 링크에서 다운받을 수 있다.

CUDA Toolkit 설정

아래 명령어를 활용해서 CUDA Toolkit을 설정한다.
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub sudo apt-get update sudo apt-get -y install cuda
PowerShell
복사
모든 설치가 완료되었으면 아래 명령어를 통해 GPU를 확인할 수 있다.
nvidia-smi -q
PowerShell
복사

6. conda 설치

conda를 설치하기 위해서는 우선 python버전 확인이 필요하다. 터미널에서 파이썬 버전을 확인하자.
python3 -V
PowerShell
복사
아래 링크로 가서 버전에 맞는 anaconda설치한다. 버전별 python 리스트는 여기서 확인할 수 있다.
링크를 복사한 후 터미널로 이동해 sh파일을 다운받는다.
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
Bash
복사
다운로드가 완료 되었다면 스크립트를 실행한다.
sudo bash Anaconda3-2021.05-Linux-x86_64.sh
Bash
복사
어떤 경로에 설치할지 묻는 메세지가 뜬다면 적당한 경로를 설정해 주면 된다. 나는 opt/anaconda3에 설치했다.
Anaconda3 will now be installed into this location: /root/anaconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below [/root/anaconda3] >>>
Bash
복사
root계정에 대해 conda init을 할 것인지 묻는 것인데 나는 no를 해주었다.
installation finished. Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no] [no] >>>
Bash
복사
진행하고 나면 아래와 같은 문구가 나오는데 아래 명령을 실행하고 나면 ~/.zshrc에 스크립트를 넣어준다.
eval "$({YOUR INSTALL PATH}/bin/conda shell.zsh hook)" source ~/.zshrc
Bash
복사
그리고 아래 명령어를 사용해 anaconda를 설정해준다.
conda init
Bash
복사
만약 conda init을 했음에도 conda activate 명령어가 동작하지 않는다면 ~/.zshrc 로 가서 아래 명령어를 추가해준다.
export PATH={설치경로/bin}:$PATH source ~/.zshrc
Bash
복사
정상적으로 conda까지 설치가 된 것을 확인할 수 있다.

Reference

WSL 2설치