Update Installation-Tensorflow.md

This commit is contained in:
Thomas Keller 2024-03-14 16:36:43 +01:00
parent 9e8f88c8cc
commit a1ebd5cf4a

View File

@ -45,7 +45,7 @@ mkdir -p ~/build-apptainer/sandboxes/ && cd ~/build-apptainer
Container mit bereits installierter Tensorflowsoftware können von Dockerhub oder von der Nvidia-Registry bezogen werden. Dabei wird das Docker Imageformat automatisch ins Apptainerformat (.sif) umgewandelt. Im nachfolgenden Beispiel benutzen wir die Docker-Registry: Container mit bereits installierter Tensorflowsoftware können von Dockerhub oder von der Nvidia-Registry bezogen werden. Dabei wird das Docker Imageformat automatisch ins Apptainerformat (.sif) umgewandelt. Im nachfolgenden Beispiel benutzen wir die Docker-Registry:
``` ```
apptainer pull tensorflow-2.12.0-gpu.sif docker://tensorflow/tensorflow:2.12.0-gpu apptainer pull tensorflow-2.16.1-gpu.sif docker://tensorflow/tensorflow:2.16.1-gpu
``` ```
Der vorherige Befehl speichert das Tensorflowimage im Homeverzeichnis unter build-apptainer ab. Falls Apptainer sich beim Download des Images über mangelnden Speicherplatz beklagt, gibt es unter dem Abschnitt "Troubleshooting" Tipps, wie in einem solchen Fall vorgegangen werden kann. Der vorherige Befehl speichert das Tensorflowimage im Homeverzeichnis unter build-apptainer ab. Falls Apptainer sich beim Download des Images über mangelnden Speicherplatz beklagt, gibt es unter dem Abschnitt "Troubleshooting" Tipps, wie in einem solchen Fall vorgegangen werden kann.
@ -53,7 +53,7 @@ Der vorherige Befehl speichert das Tensorflowimage im Homeverzeichnis unter buil
Als nächstes bauen wir ein neues Tensorflowimage und installieren als Beispiel das Paket nvidia-profiler in das Image nach. Dazu benutzen wir als Basis das bereits heruntergeladene Tensorflowimage (tensorflow-dockerhub.sif) das wir bereits mit `aptainer pull` in unser Homeverzeichnis gespeichert haben: Als nächstes bauen wir ein neues Tensorflowimage und installieren als Beispiel das Paket nvidia-profiler in das Image nach. Dazu benutzen wir als Basis das bereits heruntergeladene Tensorflowimage (tensorflow-dockerhub.sif) das wir bereits mit `aptainer pull` in unser Homeverzeichnis gespeichert haben:
``` ```
apptainer build --sandbox sandboxes/tensorflow ./tensorflow-2.12.0-gpu.sif apptainer build --sandbox sandboxes/tensorflow ./tensorflow-2.16.1-gpu.sif
apptainer exec --fakeroot --writable sandboxes/tensorflow/ apt-get update apptainer exec --fakeroot --writable sandboxes/tensorflow/ apt-get update
apptainer exec --writable --fakeroot sandboxes/tensorflow/ apt install -y nvidia-profiler apptainer exec --writable --fakeroot sandboxes/tensorflow/ apt install -y nvidia-profiler
``` ```
@ -61,14 +61,14 @@ Da auf den Homedirectories eine Diskquota von 80GB aktiviert ist, kann es sein,
``` ```
mkdir -p "/scratch/${USER}/" mkdir -p "/scratch/${USER}/"
apptainer build "/scratch/${USER}/tensorflow-2.12.0-gpu-modified.sif" sandboxes/tensorflow/ apptainer build "/scratch/${USER}/tensorflow-2.16.1-gpu-modified.sif" sandboxes/tensorflow/
``` ```
Danach können wir interaktiv im Container arbeiten. Apptainer mountet das Homeverzeichnis automatisch in den Container, daher stehen unsere Skripts die wir für eine Berechnung brauchen automatisch zur Verfügung. Danach können wir interaktiv im Container arbeiten. Apptainer mountet das Homeverzeichnis automatisch in den Container, daher stehen unsere Skripts die wir für eine Berechnung brauchen automatisch zur Verfügung.
Mit dem Befehl ```apptainer shell``` können wir ein Apptainerimage öffnen und darin arbeiten. Mit dem Befehl ```apptainer shell``` können wir ein Apptainerimage öffnen und darin arbeiten.
``` ```
apptainer shell --nv "/scratch/${USER}/tensorflow-2.12.0-gpu-modified.sif" apptainer shell --nv "/scratch/${USER}/tensorflow-2.16.1-gpu-modified.sif"
``` ```
Jetzt könne wir überprüfen ob die GPUs im Container korrekt erkannt werden: Jetzt könne wir überprüfen ob die GPUs im Container korrekt erkannt werden: