TensorFlow mit Docker auf einer virtuellen Maschine mit vGPU auf EO-Lab FRA1-1 installieren
TensorFlow ist eine der beliebtesten Bibliotheken für maschinelles Lernen. Gekoppelt mit vGPU-basierten VMs beschleunigt es den Machine-Learning-Workflow erheblich. In diesem Artikel werden Sie Docker verwenden, um TensorFlow auf EO-Lab zu installieren.
Für die Installationsmethode von TensorFlow, die keine Verwendung von Docker erfordert, folgen Sie diesem Artikel:
TensorFlow auf ei er FRA1-1 vGPU-fähiger VM auf EO-Lab installieren.
Die Installationsanweisungen basieren auf den folgenden Quellen:
Installationsanleitung von NVIDIA
Installationsanleitung von TensorFlow
Voraussetzungen
Nr. 1. Konto
Sie brauchen ein EO-Lab Konto mit Zugang zur Horizon-Schnittstelle: https://cloud.fra1-1.cloudferro.com/auth/login/?next=/.
Nr. 2. Virtueller Rechner mit NVIDIA-GPU
Die Installation von TensorFlow, wie unten beschrieben, wurde auf einer virtuellen Maschine von Ubuntu 20.04 mit NVIDIA GPU getestet, die mit der Standardkonfiguration auf EO-Lab erstellt wurde. Um auf diese virtuelle Maschine über SSH zuzugreifen, verwenden Sie das Konto eouser.
Diese virtuelle Maschine muss eine
floating IP-Adresse haben und Sie müssen sich mit ihr
mit einem auf Ihrem PC gespeicherten SSH-Schlüssel verbinden können.
Der folgende Artikel beschreibt, wie Sie eine solche Maschine erstellen: Wie erstellt man eine neue Linux-VM mit NVIDIA Virtual GPU im OpenStack Dashboard (Horizon)?. Wenn Sie während dieses Prozesses keine variable IP hinzugefügt haben, können Sie dies wie folgt nachholen: /networking/How-to-Add-or-Remove-Floating-Ips-to-your-VM-on-EO-Lab.
Was wir behandeln werden
Aktualisieren der Software auf Ihrer VM und überprüfen, ob die NVIDIA-Grafikkarte funktioniert
Docker installieren
Installieren und überprüfen des NVIDIA Container Toolkits
TensorFlow installieren
Schritt 1: Aktualisieren Sie die Software auf Ihrer VM und verifizieren Sie, dass die NVIDIA-Grafikkarte funktioniert
Verbinden Sie sich mit Ihrer virtuellen Maschine über SSH, mit folgendem Befehl (ersetzen Sie 64.225.129.70 durch die freie IP-Adresse Ihrer virtuellen Maschine).
Aktualisieren Sie die Software auf Ihrer virtuellen Maschine:
sudo apt update && sudo apt upgrade
Starten Sie Ihre VM neu:
sudo reboot
Verbinden Sie sich nach dem Neustart mit Ihrer VM wie zuvor mit SSH.
Überprüfen Sie, ob die NVIDIA-Grafikkarte funktioniert:
nvidia-smi
Das Ergebnis Ihres Befehls sollte wie folgt aussehen:

Schritt 2: Docker installieren
Installieren Sie Docker mit dem offiziellen Skript und aktivieren Sie den Dienst:
curl https://get.docker.com | sh && sudo systemctl --now enable docker
Schritt 3: Installieren und überprüfen Sie das NVIDIA Container Toolkit (ndivia-docker2)
Das NVIDIA Container Toolkit ist ein Tool zum Erstellen und Ausführen GPU-beschleunigter Docker-Container. Weitere Informationen finden Sie hier: `https://catalog.ngc.nvidia.com/orgs/nvidia/teams/k8s/containers/container-toolkit`_
Wir benötigen es, da wir einen GPU-beschleunigten Workflow in einem Container ausführen werden.
Fügen Sie das entsprechende Repository und den GPG-Schlüssel hinzu:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
Installieren Sie nun das Paket nvidia-docker2:
sudo apt update && sudo apt install -y nvidia-docker2
Starten Sie Docker neu:
sudo systemctl restart docker
Überprüfen Sie, ob das NVIDIA Container Toolkit funktioniert:
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.4.3-base-ubuntu20.04 nvidia-smi
Sie sollten die Ausgabe des Befehls nvidia-smi sehen (dieses Mal wird er jedoch innerhalb des Containers ausgeführt):

Schritt 4 TensorFlow mit vGPU-Unterstützung installieren
Ziehen Sie das TensorFlow-Abbild:
sudo docker pull tensorflow/tensorflow:2.11.0-gpu
Führen Sie darin einen Test durch:
sudo docker run --gpus all -it --rm tensorflow/tensorflow:2.11.0-gpu python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
Nach dem vorherigen Befehl wird das Ergebnis einer zufälligen TensorFlow-Operation angezeigt.
Ihre Ausgabe sollte ähnliche Informationen wie diese enthalten:

Was als nächstes zu tun ist
Nachdem Sie erfolgreich TensorFlow auf einer virtuellen Maschine mit aktivierter vGPU installiert haben, können Sie nutzen. Eine der Möglichkeiten, es zu testen, wird in dem Artikel beschrieben:
Dort sehen Sie, wie schnell ein Deep Learning-Vorgang sein kann, wenn eine vGPU vorhanden ist.