Deep_Learning

Tensorflow GPU Docker Install on WSL2 - #1

MoonLight314 2024. 2. 2. 15:22
728x90

안녕하세요, MoonLight입니다.

이번 Post 주제는 Tensorflow GPU Version Docker Image를 WSL2에 설치한 후에, Visual Studio Code에서 이를 활용하여 Train을 하는 방법까지 진행해 보려고 합니다.

먼저, 제가 WSL2에 Tensorflow Docker Image로 설치하려는 이유는

1) Windows 환경이 친숙하고 편합니다.

2) Tensorflow 2.10부터는 Native Windows에서 설치가 되지 않는다고 합니다.

3) Docker를 이용하면 복잡한 설치과정을 거치지 않아도 되기 때문에 매우 편합니다.

최종적으로 완성된 전체 구조는 아래와 같을 것입니다.

전체적으로 아래의 순서로 진행할 예정입니다

  1. WSL2 설치
  2. Ubuntu 설치
  3. nVidia GPU Driver for WSL 설치
  4. Docker 설치
  5. nVidia CUDA Toolkit Container 설치
  6. Tensorflow GPU Container 설치
  7. Visual Studo Code 준비
  8. Visual Studo Code와 Tensorflow Container 연결
  9. Image Commit
  10. 최종 Test

이번 Post에서는 3.nVidia GPU Driver for WSL 설치까지 진행해 보겠습니다.

1. WSL2 설치

WSL (Windows Subsystem for Linux)이란 Windows에서 직접 Linux 배포판을 실행할 수 있도록 하는 기능으로써,

이를 통해서 사용자는 Linux 명령어, 스크립트, 도구들을 Windows 환경에서 바로 사용할 수 있게 됩니다.

기본적으로 개발자가 Windows에서 Linux 기반의 개발 환경을 구축하고 사용할 수 있도록 해줍니다.

WSL은 가상 머신이나 듀얼 부팅 없이도 Linux 환경을 Windows 내에서 손쉽게 접근하고 사용할 수 있게 해줍니다.

예전 초창기 WSL에서는 Linux를 설치할 수는 있지만, GPU를 지원하지는 못해서 Deep Learning 개발 환경 구축에

크게 유용하지는 않았습니다.

하지만, WSL2가 나오고 GPU를 지원할 수 있게 되면서 이제는 상당히 쓸만해 졌습니다.

1.1. WSL2 설치 가능 조건

WSL2를 설치하기 위해서는 Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11이 필요합니다.

https://learn.microsoft.com/ko-kr/windows/wsl/install

본인의 Windows 정보를 확인하셔서 설치 가능한지 확인해 보시기 바랍니다.

1.2. Windows Subsystem for Linux 기능 활성화

먼저 PowerShell을 관리자 권한으로 실행합니다.

그리고, Windows Subsystem for Linux(WSL) 기능을 활성화 시켜주어야 합니다.

아래 명령어를 입력합니다.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

 

1.3 Virtual Machine feature 활성화

추가로, Virtual Machine 기능도 활성화 시켜주어야 합니다. 아래 명령어를 입력합니다.

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 

1.4. 재부팅

반드시 재부팅해주셔야 변경사항이 적용됩니다. 꼭 재부팅 해주세요.

 

1.5. WSL 설치

재부팅 후에, 다시 PowerShell을 관리자 권한으로 실행하여, 다음 명령어를 입력합니다.

wsl --install

 

1.6 Linux Update Kernel Package 설치

아래 링크를 클릭하여 Linux Update Kernel Package를 설치합니다.

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

 

1.7 WSL2를 기본으로 설정

WSL에는 WSL 1 & WSL 2가 있는데, 우리는 GPU를 지원하는 WSL 2를 사용할 예정이기 때문에 기본버전을 WSL2로 설정하도록 하겠습니다.

powersehll 관리자 모드에서 아래 명령어 입력해 줍니다.

wsl --set-default-version 2

 

 

 

2. Ubuntu 설치

이제 WSL2를 설치했으니, WSL2에서 실행할 Linux를 설치하도록 하겠습니다. 가장 많이 사용하는 Linux 배포판인 Ubuntu 20.04 LTS를 설치해 보겠습니다.

 

2.1 Microsoft Store에서 Ubuntu 설치

Microsoft Store에서 Ubuntu 20.04.4 LTS를 설치합니다.

Ubuntu 20.04.4 LTS

https://apps.microsoft.com/detail/9MTTCL66CPXJ?hl=en-us&gl=US

 

아래 Link는 Ubuntu 22.04.4 LTS입니다. 좀 더 최신 배포판을 설치하고자 하시는 분은 사용해 주세요.

Ubuntu 설치가 완료되면 계정을 생성하고 나면, Ubuntu 설치는 완료됩니다.

 

3. nVidia GPU Driver for WSL 설치

이번에는 GPU Driver를 설치해 주어야 합니다.

아마 이미 Driver가 설치가 되어 있겠지만, WSL을 사용하기 위해서는 nVidia에서 제공하는 WSL용 Driver를 설치해 주어야 합니다. GPU Driver는 아래 Link에서 Download가 가능합니다.

https://developer.nvidia.com/cuda/wsl

 

자신의 GPU와 OS 선택하고 다운로드하고 설치까지 진행해 주시면 됩니다.

이번 Post에서는 여기까지 진행하고, 다음 Post에서 계속 진행하도록 하겠습니다.

다음 Post는 아래 Link를 참고해 주세요.

https://moonlight314.tistory.com/entry/Tensorflow-GPU-Docker-Install-on-WSL2-2

728x90