Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Machine Learning (ML) wird zu einem wichtigen Bestandteil vieler Entwicklungsworkflows. Ganz gleich, ob Sie Datenwissenschaftler, ML-Ingenieur sind oder Ihre Lernreise mit ML beginnen, das Windows-Subsystem für Linux (WSL) bietet eine großartige Umgebung, um die am häufigsten verwendeten und beliebtesten GPU-beschleunigten ML-Tools auszuführen.
Es gibt viele verschiedene Möglichkeiten zum Einrichten dieser Tools. Beispielsweise bieten NVIDIA CUDA in WSL, TensorFlow-DirectML und PyTorch-DirectML verschiedene Möglichkeiten, wie Sie Ihre GPU für ML mit WSL verwenden können. Um mehr über die Gründe zu erfahren, warum man sich für die eine oder die andere Option entscheidet, siehe GPU-beschleunigtes ML-Training.
In diesem Handbuch wird gezeigt, wie Sie Folgendes einrichten:
- NVIDIA CUDA, wenn Sie über eine NVIDIA-Grafikkarte verfügen und einen Ml-Framework-Beispielcontainer ausführen
- TensorFlow-DirectML und PyTorch-DirectML auf Ihrer AMD-, Intel- oder NVIDIA-Grafikkarte
Voraussetzungen
- Stellen Sie sicher, dass Sie Windows 11 oder Windows 10, Version 21H2 oder höher, ausführen.
- Installieren Sie WSL, und richten Sie einen Benutzernamen und ein Kennwort für Ihre Linux-Verteilung ein.
Einrichten von NVIDIA CUDA mit Docker
Laden Sie den neuesten Treiber für Ihre NVIDIA GPU herunter, und installieren Sie sie.
Installieren Sie Docker Desktop , oder installieren Sie das Docker-Modul direkt in WSL, indem Sie den folgenden Befehl ausführen.
curl https://get.docker.com | sh
sudo service docker start
Wenn Sie das Docker-Modul direkt installiert haben, installieren Sie das NVIDIA Container Toolkit mit den folgenden Schritten.
Richten Sie das stabile Repository für das NVIDIA Container Toolkit ein, indem Sie die folgenden Befehle ausführen:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-keyring.gpg
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-docker-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
Installieren Sie die NVIDIA-Laufzeitpakete und Abhängigkeiten, indem Sie die Befehle ausführen:
sudo apt-get update
sudo apt-get install -y nvidia-docker2
Führen Sie einen Machine Learning Framework-Container und ein Beispiel aus.
Um einen Machine Learning Framework-Container auszuführen und mit der Verwendung Ihrer GPU mit diesem NVIDIA NGC TensorFlow-Container zu beginnen, geben Sie den Befehl ein:
docker run --gpus all -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/tensorflow:20.03-tf2-py3
Sie können ein vordefiniertes Modellbeispiel ausführen, das in diesen Container integriert ist, indem Sie die Befehle ausführen:
cd nvidia-examples/cnn/
python resnet.py --batch_size=64
Weitere Möglichkeiten zum Einrichten und Nutzen von NVIDIA CUDA finden Sie im NVIDIA CUDA auf WSL User Guide.
Einrichten von TensorFlow-DirectML oder PyTorch-DirectML
Laden Sie den neuesten Treiber von Ihrer GPU-Anbieter-Website herunter und installieren Sie sie: AMD, Intel oder NVIDIA.
Einrichten einer Python-Umgebung.
Es wird empfohlen, eine virtuelle Python-Umgebung einzurichten. Es gibt viele Tools, mit denen Sie eine virtuelle Python-Umgebung einrichten können – für diese Anweisungen verwenden wir die Miniconda von Anaconda.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
conda create --name directml python=3.7 -y
conda activate directml
Installieren Sie das machine Learning Framework, das von DirectML ihrer Wahl unterstützt wird.
TensorFlow-DirectML:
pip install tensorflow-directml
PyTorch-DirectML:
sudo apt install libblas3 libomp5 liblapack3
pip install torch-directml
Führen Sie ein Beispiel für schnelle Ergänzungen in einer interaktiven Python-Sitzung für TensorFlow-DirectML oder PyTorch-DirectML aus, um sicherzustellen, dass alles funktioniert.
Wenn Sie Fragen haben oder Probleme haben, besuchen Sie das DirectML-Repository auf GitHub.
Mehrere GPUs
Wenn Sie über mehrere GPUs auf Ihrem Computer verfügen, können Sie auch innerhalb von WSL darauf zugreifen. Sie können jedoch nur einzeln darauf zugreifen. Um eine bestimmte GPU auszuwählen, legen Sie die Umgebungsvariable unten auf den Namen Ihrer GPU fest, wie sie im Geräte-Manager angezeigt wird:
export MESA_D3D12_DEFAULT_ADAPTER_NAME="<NameFromDeviceManager>"
Dadurch wird eine Zeichenfolgen-Übereinstimmung ausgeführt. Wenn Sie sie auf "NVIDIA" festlegen, entspricht sie der ersten GPU, die mit "NVIDIA" beginnt.
Zusätzliche Ressourcen
Windows Subsystem for Linux