Aktivieren von PyTorch mit DirectML auf WSL

PyTorch mit DirectML ermöglicht Schulungen und Rückschlüsse auf DirectX 12-fähige GPUs in Windows-Subsystem für Linux (WSL). PyTorch mit DirectML befindet sich in der öffentlichen Vorschau und arbeitet in WSL 2.

Überprüfen Sie die Windows-Version

Das torch-directml Paket in WSL 2 erfordert Windows 11, Build 22000 oder höher. Um Ihre Windows Version und Buildnummer zu überprüfen, wählen Sie Windows Logo-Taste + R aus, geben Sie winver"OK" ein, und wählen Sie "OK" aus.

Installieren von WSL 2

Um die Standard-Linux-Verteilung mit WSL 2 zu installieren, öffnen Sie PowerShell oder Windows Eingabeaufforderung im Administratormodus, und führen Sie Folgendes aus:

wsl --install

Starten Sie den Computer neu, wenn Sie dazu aufgefordert werden. Informationen zur Verteilungsauswahl und anderen Installationsoptionen finden Sie unter Installieren von Linux auf Windows mit WSL.

Überprüfen auf GPU-Treiberupdates

Installieren Sie den neuesten Windows Treiber, der für Ihre GPU über Windows Update oder die Website Ihres Hardwareherstellers verfügbar ist. Der Windows Treiber ermöglicht die GPU-Beschleunigung in WSL. Sie müssen keinen separaten Linux-Anzeigetreiber installieren.

Einrichten von Python

Installieren Sie eine Python Umgebung in Ihrer WSL-Verteilung. Führen Sie beispielsweise die folgenden Befehle aus, um Miniconda zu installieren:

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

Erstellen und aktivieren Sie dann eine Umgebung mit dem Namen pytorch-directml:

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

Installieren von PyTorch mit DirectML

Installieren Sie das Paket torch-directml:

pip install torch-directml

Überprüfen der Installation

Starten Sie Python, und führen Sie den folgenden Code aus, um zwei Tensoren auf dem DirectML-Gerät hinzuzufügen:

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())

Erwartete Ausgabe:

3

Beispiele und Feedback

Beispiele finden Sie in den DirectML PyTorch-Beispielen . Verwenden Sie die DirectML-Problemverfolgung, um Paketprobleme oder Anforderungsfeatures zu melden.