Włącz obsługę PyTorch z DirectML w WSL

Funkcja PyTorch z językiem DirectML umożliwia trenowanie i wnioskowanie na procesorach GPU z obsługą directX 12 w Podsystem Windows dla systemu Linux (WSL). Rozwiązanie PyTorch z językiem DirectML jest w publicznej wersji zapoznawczej i działa w programie WSL 2.

Sprawdzanie wersji Windows

Pakiet torch-directml w programie WSL 2 wymaga Windows 11, kompilacji 22000 lub nowszej. Aby sprawdzić wersję systemu Windows i numer kompilacji, naciśnij klawisz z logo systemu Windows + R, wprowadź winver, a następnie wybierz OK.

Instalowanie programu WSL 2

Aby zainstalować domyślną dystrybucję systemu Linux za pomocą programu WSL 2, otwórz program PowerShell lub Windows wiersz polecenia w trybie administratora i uruchom polecenie:

wsl --install

Uruchom ponownie maszynę po wyświetleniu monitu. Aby zapoznać się z wyborem dystrybucji i innymi opcjami instalacji, zobacz Instalowanie systemu Linux w Windows za pomocą programu WSL.

Sprawdzanie aktualizacji sterowników procesora GPU

Zainstaluj najnowszy sterownik Windows dostępny dla procesora GPU za pomocą Windows Update lub witryny internetowej producenta sprzętu. Sterownik Windows umożliwia przyspieszanie procesora GPU w programie WSL. Nie trzeba instalować oddzielnego sterownika wyświetlania systemu Linux.

Konfigurowanie Python

Zainstaluj środowisko Python w dystrybucji WSL. Uruchom na przykład następujące polecenia, aby zainstalować aplikację Miniconda:

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

Następnie utwórz i aktywuj środowisko o nazwie pytorch-directml:

conda create --name pytorch-directml python=3.10
conda activate pytorch-directml

Instalowanie biblioteki PyTorch przy użyciu języka DirectML

torch-directml Zainstaluj pakiet:

pip install torch-directml

Weryfikowanie instalacji

Uruchom Python i wykonaj poniższy kod, aby dodać dwa tensory na urządzeniu DirectML:

import torch
import torch_directml

dml = torch_directml.device()
tensor1 = torch.tensor([1]).to(dml)
tensor2 = torch.tensor([2]).to(dml)
dml_algebra = tensor1 + tensor2
print(dml_algebra.item())

Oczekiwane dane wyjściowe:

3

Przykłady i opinie

Zobacz przykłady DirectML PyTorch, aby zapoznać się z przykładami. Aby zgłosić problemy z pakietem lub zażądać funkcji, użyj monitora problemów z rozwiązaniem DirectML.