
Ich habe kürzlich WSL2 (Windows 10, 21H2) mit CUDA/Docker-Unterstützung eingerichtet, um einige neuronale Netzwerke zu trainieren. Dazu bin ich den Anweisungen aus dieser Anleitung gefolgt:https://docs.nvidia.com/cuda/wsl-user-guide/index.html
Als ich fertig war, habe ich ein Image ausgeführt, wie im verlinkten Dokument angegeben:
docker run -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
An diesem Punkt kann ich den Browser starten und an einem Jupyter Notebook mit GPU-Unterstützung arbeiten. Ich überprüfe dies, indem ich Folgendes ausführe:
import tensorflow as tf
tf.config.list_physical_devices('GPU')
Die Ausgabe bestätigt, dass die GPU verfügbar ist:
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
.
Wenn ich fertig bin, speichere ich meine Änderungen und verlasse den Container mit STRG-C.
Bis hierhin funktioniert alles wie erwartet.
Um die Arbeit fortzusetzen, habe ich Folgendes verwendet: docker start -i happy_bose
Dabei handelt es happy_bose
sich um den Namen des Containers, den ich zuvor ausgeführt habe.
GPU-Unterstützung gibt es jedoch nicht (der Aufruf gibt tf.config.list_physical_devices('GPU')
eine leere Liste zurück).
Ich hatte erwartet docker start -i happy_bose
, den Container mit GPU-Unterstützung zu starten, aber das ist nicht der Fall. Gibt es eine Möglichkeit, einen Container mit GPU-Unterstützung wiederzuverwenden, oder muss ich ihn docker run
jedes Mal neu erstellen und starten?