WSL2에 CUDA Anaconda Pytorch 설치 (1/3)

멀티부팅은 귀찮으니까 윈도우 안에 우분투를 설치해서 CUDA Anaconda Pytorch로 학습을 돌리자

1. 배경


작업의 능률이나 편의성을 고려해서 가능하면 윈도우를 사용하는걸 선호한다.

그리고 제안서도 써야하고 가끔 zoom meeting도 있고, 여러가지로 윈도우 환경이 필요하다. (특히 제안서와 공공문서… 아래아한글…)

최근에 학습 돌려보려고 하는 오픈소스가 리눅스 기반이라 어쩔 수 없이 우분투를 설치하려고 하는데, 멀티부팅이 매우 귀찮기도 하고 다른 방법이 없을까 찾아봄. 해결방법은 WSL(Windows Subsystem for Linux)을 사용하는 것이다.

본 글에서는 리눅스를 윈도우 내에 설치해서 CUDA와 PyTorch를 사용하여 학습을 돌리는 방법을 설명하고지 함.

2. 환경


ItemVersion
Windows 10 64-bit빌드 19041이상 (21H2업데이트)
WSL (Windows Subsystem for Linux)2
Ubuntu18.04
CUDA11.3
Pytorch1.10.2

2. 사전 설정

2-1. Windows 10 설치


웬 Windows 10 설치냐 라고 할 수 있는데, WSL2를 지원하기 위해서는 Windows 10 최신버전(빌드 19041 이상) 또는 Windows 11로 업데이트가 필요하다

빌드버전은 아래 그림과 같이 시작표시줄에서 winver를 검색해서 실행한다. 19041 이상이어야 한다.

winver 화면에서 윈도우 빌드버전 확인

버전이 19041 이하라면 아래 링크에서 21H2 업데이트 툴을 받아서 설치하자. 설치하는 방법은 생략.

Windows10Upgrade9252 다운로드

2-2. Windows Terminal 앱 설치


없어도 무방하지만 마소에서 작정하고 만든 앱인 것 같음. 이게 있으면 편함. 이쁘기도 하고.

본 글에서는 이 Terminal을 기준으로 설명한다.

Windows Terminal 다운로드

3. 본격적인 WSL 설치

3-1. 원하는 버전 골라서 설치하기


터미널(Windows Terminal)을 켜서 아래의 순서대로 작업한다.

  1. 설치 가능한 버전 목록보기 : wsl --list --online
  2. 우분투 18.04 설치하기 : wsl --install -d Ubuntu-18.04
  3. 컴퓨터 재부팅 –> 자동으로 Ubuntu 창이 뜰 때까지 기다렸다가 user 계정을 만들자.
  4. cmd에서 wsl -l -v 로 설치된 것과 실행 여부를 확인할 수 있다.

3-2. (옵션) 가상환경 파일 이동


가상환경 파일 내가 원하는 곳으로 옮기기

가상환경 이미지파일의 디폴트 설치위치는
C:\Users\raykim\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_
79rhkp1fndgsc\LocalState\ext4.vhdx 이다.

사용하다 보면 용량이 계속 증가할게 뻔하기 때문에 C 드라이브에서 다른 드라이브로 옮겨놓고 싶다.

일반적인 방법으로는 옮길 수 없고 스크립트를 사용해야 한다.
스크립트가 만들어져 배포되는 것을 보니, 역시 나같은 고민을 하는 사람들이 많은 것 같다.

3-2-1. 가상환경 파일 이동


  • WSL 종료
    • 터미널에서 wsl -t ubuntu 또는 wsl --shutdown
  • 종료 확인
    • wsl -l -v
      종료된 것을 반드시 확인하고 다음 단계로 넘어가자
  • 스크립트 다운 및 실행
    • move-wsl github repo 에서 move-wsl.bat 파일을 다운로드한다.
    • 터미널에서 move-wsl.bat Ubuntu-18.04 e:\WSL2
      이동명령

3-2-2. user 계정 복구


  • WSL 종료 및 재시작
    • 종료 : wsl -t Ubuntu 또는 wsl --shutdown
    • 시작 : wsl -d Ubuntu-18.04 또는 wsl
  • 계정 복구
    • root 로 들어가게 될 것이다.
      다시 계정을 생성하기 위하여 원래 만들었던 user 계정을 /etc/wsl.conf 에 넣음
    • vi /etc/wsl.conf
      [user]
      default=<username>
      
  • WSL 종료 및 재시작 하면 완료

3-3. (옵션) 가상환경 시작 위치 변경


디폴트 시작 위치

이게 은근 신경 쓰이는게 내가 원하는 곳에서 작업을 바로 시작하기 어렵고 항상 이동 해줘야하기 때문이다. 명령어 cd 를 입력했을 때 홈으로 이동하는게 편해지도록 홈의 경로를 바꿔보자

  • Windows Terminal 실행 –> 설정( Ctrl + . ) –> 왼쪽탭에서 설치한 우분투를 찾고 –> 디렉터리를 시작하는중(또는 시작 디렉터리)을 변경
    • 기존 : %USERPROFILE%
    • 변경 : 원하는 위치 (나의 경우 \\wsl$\Ubuntu\home\rk )

마치며

지난 3년간 포스팅이 없었는데, 이번에 WSL을 설치하고 jekyll을 사용할 수 있게 되어서 다시 글을 쓴 것이다.

삽질보다 정리가 더 힘들다



blastak © 2017. All rights reserved.