TensorFlow mit Docker auf einer virtuellen Maschine mit vGPU auf CODE-DE 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 CODE-DE 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 CODE-DE installieren.

Die Installationsanweisungen basieren auf den folgenden Quellen:

Installationsanleitung von NVIDIA

Installationsanleitung von TensorFlow

Voraussetzungen

Nr. 1. Konto

Sie brauchen ein CODE-DE 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 CODE-DE 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-CODE-DE.

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:

../_images/tensorflow-install-01_creodias.png

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

../_images/tensorflow-install-02_creodias.png

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:

../_images/tensorflow-install-03_creodias.png

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:

Beispiel für einen Deep-Learning-Workflow mit TensorFlow und Docker auf einer virtuellen Maschine mit vGPU auf CODE-DE.

Dort sehen Sie, wie schnell ein Deep Learning-Vorgang sein kann, wenn eine vGPU vorhanden ist.