WSL 2에서 DirectML로 PyTorch 사용
DirectML을 사용하는 PyTorch는 개발자가 Windows 컴퓨터에서 가장 최신의 가장 뛰어난 AI 모델을 사용해 보기 쉬운 방법을 제공합니다. Torch-directml PyPi 패키지를 설치하여 DirectML로 PyTorch를 다운로드할 수 있습니다. 일단 설정되면 샘플로 시작하거나 VS Code용 AI 도구 키트를 사용할 수 있습니다.
Windows 버전 확인
Linux용 Windows 하위 시스템(WSL) 2의 torch-directml 패키지는 Windows 11(빌드 22000 이상)부터 작동합니다. 실행 명령(Windows 로고 키 + R)을 통해 실행 winver
하여 빌드 버전 번호를 검사 수 있습니다.
GPU 드라이버 업데이트 확인
최신 GPU 드라이버가 설치되어 있는지 확인합니다. 설정 앱의 Windows 업데이트 섹션에서 업데이트 확인을 선택합니다.
Torch-DirectML 설정
WSL 2 설치
WSL(Linux용 Windows 하위 시스템) 2를 설치하려면 WSL 설치의 지침을 참조하세요.
그런 다음 microsoft/wslg GitHub 리포지토리의 README.md
파일에 있는 지침에 따라 WSL GUI 드라이버를 설치합니다.
Python 환경 설정
WSL 2 내에서 가상 Python 환경을 설정하는 것이 좋습니다. 가상 Python 환경을 설정하는 데 사용할 수 있는 많은 도구가 있습니다. 이 항목에서는 Anaconda의 Miniconda를 사용합니다. 이 설정의 나머지 부분에는 Miniconda 환경을 사용한다고 가정합니다.
Anaconda 사이트의 Linux 설치 관리자 지침에 따라 또는 WSL 2에서 다음 명령을 실행하여 Miniconda를 설치합니다.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
Miniconda가 설치되면 pytdml이라는 Python 환경을 만들고 다음 명령을 통해 활성화합니다.
conda create --name pytdml -y
conda activate pytdml
PyTorch 및 Torch-DirectML 설치
참고 항목
torch-directml 패키지는 PyTorch 2.2까지 지원합니다.
설치에 필요한 것은 다음 명령을 실행하여 최신 버전의 torch-directml 을 설치하는 것입니다.
pip install torch-directml
확인 및 디바이스 만들기
torch-directml 패키지를 설치한 후에는 두 개의 텐서를 추가하여 올바르게 실행되는지 확인할 수 있습니다. 먼저 대화형 Python 세션을 시작하고 다음 줄로 Torch를 가져옵니다.
import torch
import torch_directml
dml = torch_directml.device()
torch-directml의 현재 릴리스는 "PrivateUse1" Torch 백 엔드에 매핑됩니다. torch_directml.device() API는 DirectML 디바이스로 텐서를 보내기 위한 편리한 래퍼입니다.
DirectML 디바이스를 만들면 이제 두 개의 간단한 텐서를 정의할 수 있습니다. 1을 포함하는 텐서 하나와 2를 포함하는 텐서 1개 "dml" 디바이스에 텐서를 배치합니다.
tensor1 = torch.tensor([1]).to(dml) # Note that dml is a variable, not a string!
tensor2 = torch.tensor([2]).to(dml)
텐서를 함께 추가하고 결과를 인쇄합니다.
dml_algebra = tensor1 + tensor2
dml_algebra.item()
아래 예제와 같이 숫자 3이 출력되는 것을 볼 수 있습니다.
>>> import torch
>>> tensor1 = torch.tensor([1]).to(dml)
>>> tensor2 = torch.tensor([2]).to(dml)
>>> dml_algebra = tensor1 + tensor2
>>> dml_algebra.item()
3
DirectML 샘플 및 피드백을 사용하는 PyTorch
샘플을 확인 하여 DirectML에서 PyTorch를 더 많이 사용하는지 확인하세요. 문제가 발생하거나 DirectML 패키지로 PyTorch에 대한 피드백이 있는 경우 여기에 있는 팀과 연결하세요.