Abilitare PyTorch con DirectML in WSL

PyTorch con DirectML abilita il training e l'inferenza nelle GPU con supporto per DirectX 12 in sottosistema Windows per Linux (WSL). PyTorch con DirectML è disponibile in anteprima pubblica e funziona in WSL 2.

Controllare la versione di Windows

Il torch-directml pacchetto in WSL 2 richiede Windows 11, build 22000 o versione successiva. Per controllare la versione Windows e il numero di build, selezionare Windows tasto + logoR, immettere winvere selezionare OK.

Installare WSL 2

Per installare la distribuzione linux predefinita con WSL 2, aprire PowerShell o Windows prompt dei comandi in modalità amministratore ed eseguire:

wsl --install

Riavviare il computer quando richiesto. Per la selezione della distribuzione e altre opzioni di installazione, vedere Installare Linux in Windows con WSL.

Verificare la disponibilità di aggiornamenti dei driver GPU

Installare il driver Windows più recente disponibile per la GPU tramite Windows Update o il sito Web del produttore dell'hardware. Il driver Windows abilita l'accelerazione GPU in WSL. Non è necessario installare un driver di visualizzazione Linux separato.

Configurare Python

Installare un ambiente Python nella distribuzione WSL. Ad esempio, eseguire i comandi seguenti per installare Miniconda:

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

Creare e attivare quindi un ambiente denominato pytorch-directml:

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

Installare PyTorch con DirectML

Installare il pacchetto torch-directml:

pip install torch-directml

Verificare l'installazione

Avviare Python ed eseguire il codice seguente per aggiungere due tensori nel dispositivo 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())

Output previsto:

3

Esempi e feedback

Per alcuni esempi, vedere gli esempi DirectML per PyTorch. Per segnalare i problemi del pacchetto o le funzionalità di richiesta, usare lo strumento di rilevamento dei problemi directML.