TensorFlow auf ei er FRA1-1 vGPU-fähiger VM auf CODE-DE installieren

TensorFlow ist eine der beliebtesten, aber Ressourecen-intensiven Bibliotheken für maschinelles Lernen. Die Verwendung auf VMs mit vGPU-Unterstützung beschleunigt den Workflow des maschinellen Lernens erheblich. Dieser Artikel zeigt, wie man TensorFlow auf einer Cloud mit aktivierter vGPU-Unterstützung installiert.

Was wir tun werden

  • Überprüfen der Verfügbarkeit des Toolkits für die Installation

  • Installieren der Deep Neural Network Library (cuDNN), einer GPU-beschleunigten Bibliothek für Deep Neural Network Primitives.

  • Installieren von TensorFlow von der NVIDIA-Website.

Bemerkung

Sie können TensorFlow auch mit Docker installieren: TensorFlow mit Docker auf einer virtuellen Maschine mit vGPU auf CODE-DE FRA1-1 installieren.

Voraussetzungen

Sie müssen eine virtuelle Maschine mit einer NVIDIA-Grafikkarte auf der CODE-DE Cloud aktiviert haben. Die Anleitung zum Erstellen einer solchen Maschine finden Sie hier: Wie erstellt man eine neue Linux-VM mit NVIDIA Virtual GPU im OpenStack Dashboard (Horizon)?. Dieser Maschine muss

  • eine floating IP zugewiesen sein (see /networking/How-to-Add-or-Remove-Floating-Ips-to-your-VM-on-CODE-DE)

  • und Sie müssen in der Lage sein, sich mit einem auf Ihrem lokalen Computer gespeicherten SSH-Schlüssel anzumelden.

Um SSH von einem Linux-Computer aus zu benutzen, siehe Wie verbindet man sich unter Linux über SSH mit einer virtuellen Maschine? und für den Zugriff unter Windows siehe So greifen Sie von Windows aus auf eine VM zu PuTTY auf CODE-DE.

Diese Anweisungen wurden auf einer virtuellen Ubuntu 20.04-Maschine mit der Standardkonfiguration für CODE-DE Hosting getestet. Insbesondere bedeutet dies, dass Sie das Konto eouser für CLI-Befehle verwenden müssen, wie in den obigen Artikeln beschrieben.

Außerdem müssen Sie sich im NVIDIA developer program anmelden. Falls Sie dies noch nicht getan haben, haben Sie in diesem Artikel die Gelegenheit dazu.

Um TensorFlow laufen zu lassen, müssen Sie auch CuDNN installieren, eine Bibliothek, die zur Interaktion mit neuronalen Netzen und TensorFlow verwendet wird. In diesem Artikel werden Sie den cuDNN Installationsanweisungen (für Debian/Ubuntu) von der offiziellen Nvidia-Website folgen.

Schritt 1 Überprüfen Sie die Verfügbarkeit des Toolkits

Melden Sie sich mit SSH bei Ihrer virtuellen Maschine an (ersetzen Sie 64.225.129.70 durch die freie IP Ihres Rechners):

Überprüfen Sie die Verfügbarkeit des vorinstallierten GPU-Aktivierungs-Toolkits, indem Sie den folgenden Befehl ausführen:

nvidia-smi

Die Terminalausgabe zeigt die vorinstallierten Toolkit-Versionen an:

NVIDIA-SMI 470.82.01    Driver Version: 470.82.01    CUDA Version: 11.4

Merken Sie sich die CUDA Version oder notieren Sie sie - Sie werden sie später brauchen. Sie können sich nun mit folgendem Befehl von Ihrem entfernten Rechner abmelden:

exit

Schritt 2 Installieren von cuDNN

Rufen Sie die folgende Website auf, um cuDNN herunterzuladen: `https://developer.nvidia.com/rdp/cudnn-download`_ . Wenn Sie nicht bei Ihrem NVIDIA Developer-Konto angemeldet sind oder noch kein Konto besitzen, wird der folgende Bildschirm angezeigt:

../_images/tensorflow3_creodias.png

Je nachdem, ob Sie ein Konto haben oder nicht, klicken Sie auf Anmelden oder Jetzt anmelden. Um sich zu registrieren, müssen Sie ein kurzes Formular ausfüllen und die entsprechenden rechtlichen Vereinbarungen akzeptieren. Wenn Ihr Passwort zu lang ist, können Sie sich möglicherweise nicht anmelden, obwohl Sie keine Fehlermeldung von der Website erhalten.

Sobald Sie eingeloggt sind, sehen Sie den folgenden Bildschirm:

../_images/tensorflow1_creodias.png

Stimmen Sie der Lizenzvereinbarung zu, indem Sie das Kontrollkästchen anklicken. Sie sehen nun die Download-Links:

../_images/tensorflow2_creodias.png

Klicken Sie auf den Link, der die entsprechende CUDA-Version enthält (sie wurde auf Ihrem Bildschirm angezeigt, als Sie den Befehl nvidia-smi auf Ihrer virtuellen Maschine aufgerufen haben). Die Liste der verfügbaren Versionen für verschiedene Plattformen wird angezeigt.

../_images/tensorflow4_creodias.png

Wählen Sie die Version, die mit der Plattform kompatibel ist, die Sie auf Ihrer virtuellen Maschine verwenden - dieser Artikel beschreibt die Installation auf Ubuntu 20.04 LTS. Der Download wird gestartet. Ihre Datei sollte die Erweiterung .deb haben.

Verwenden Sie das Terminal, um zum Speicherort des heruntergeladenen Installationsprogramms mit der Erweiterung .deb zu navigieren. Browser legen es oft im Ordner Downloads in Ihrem Home-Verzeichnis ab. Kopieren Sie es auf Ihren entfernten Rechner (ersetzen Sie installer.deb durch den Namen Ihres Installationsprogramms und 64.225.129.70 durch die freie IP-Adresse Ihres virtuellen Rechners):

scp installer.deb [email protected]:/home/eouser/

Sobald das Installationsprogramm kopiert wurde, melden Sie sich über SSH bei Ihrer virtuellen Maschine an (ersetzen Sie 64.225.129.70 durch die IP-Adresse Ihrer virtuellen Maschine):

Sobald Sie eingeloggt sind, verwenden Sie den Befehl ls, um sicherzustellen, dass die Installationsdatei vorhanden ist:

../_images/tensorflow5_creodias.png

Führen Sie nun das Installationsprogramm aus (ersetzen Sie installer.deb durch den Namen Ihres Installationsprogramms):

sudo dpkg -i installer.deb

Importieren Sie Ihren CUDA GPG-Schlüssel.

sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings

Sobald Sie Ihren Schlüssel eingerichtet haben, installieren Sie die weiteren erforderlichen Pakete:

sudo apt update && sudo apt install apt-utils zlib1g libfreeimage3 libfreeimage-dev libcudnn8 libcudnn8-dev libcudnn8-samples

Führen Sie einen Test durch, um sicherzustellen, dass die cuDNN-Installation ohne Fehler abgeschlossen wurde (wenn dies der Fall ist, wird nach dem letzten Befehl die Meldung „Test passed!“ angezeigt):

cp -r /usr/src/cudnn_samples_v8/ $HOME
cd  $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN

Wenn der Test bestanden ist, können Sie fortfahren. Wenn nicht, überprüfen Sie, ob Sie alles richtig gemacht haben. Wenn Sie sicher sind, dass Sie alles gemäß den Anweisungen getan haben, wiederholen Sie diese Schritte auf einer neuen virtuellen Maschine. Wenden Sie sich an das Support-Team, wie unter Helpdesk und Support beschrieben, falls das nicht hilft.

Schritt 3 TensorFlow installieren

TensorFlow läuft auf Python. Wir werden eine python3-venv isolierte virtuelle Umgebung namens tensorflowenv erstellen und TensorFlow darin installieren. Mehr Informationen über python3-venv können im folgenden Artikel gefunden werden: Wie installiert man Python virtualenv/virtualenvwrapper.

Wechseln Sie zunächst in Ihr Home-Verzeichnis, falls Sie das noch nicht getan haben:

cd

Aktualisieren Sie dann die Software auf Ihrer virtuellen Maschine:

sudo apt update && sudo apt upgrade

Danach installieren Sie das Paket python3-venv:

sudo apt install python3-venv

Erstellen Sie nun die virtuelle Umgebung mit dem Namen tensorflowenv:

python3 -m venv tensorflowenv

Gehen Sie in die virtuelle Umgebung:

source tensorflowenv/bin/activate

Installieren Sie pip:

sudo apt install python3-pip

Aktualisieren Sie pip:

pip install -\\-upgrade pip

Installieren Sie TensorFlow:

pip install tensorflow

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob tensorflow für die GPU aktiviert ist (es wird ein GPU-Gerät aufgelistet):

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

Wenn eine GPU für TensorFlow verfügbar ist, wird sie standardmäßig für den Betrieb verwendet.

Die Auflistung einer GPU wird wie folgt aussehen:

../_images/tensorflow6_creodias.png

Während des Tests können Sie die folgende Ausgabe erhalten:

successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero

Dies ist nur eine Warnung und kann ignoriert werden.

Was als nächstes zu tun ist

Sie haben TensorFlow erfolgreich auf einem CODE-DE FRA1-1 Server mit einer aktivierten vGPU installiert. Im Artikel Beispiel für einen Deep Learning-Workflow mit einer FRA1-1 vGPU VM CODE-DE erfahren Sie, wie vGPUs Ergebnisse in Minuten statt - wie vor der Einführung von vGPUs - in Stunden bringen.