Skip to main content

TensorFlow

L'installation de tensoflow par pip ou conda sur l'architecture ARM (aarch64) installe uniquement une version CPU. Pour permettre une utilisation GPU, nous avons créé un conteneur apptainer en adaptant pour TURPAN le conteneur tensorflow de Nvidia depuis le NGC. Il contient l'ensemble des programmes et librairies décrit ici : https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/rel-24-02.html

Utilisation du conteneur tensorflow

Il y a deux façons d'utiliser ce conteneur :

Vous pouvez utiliser le conteneur dans un script sbatch. Dans l'exemple ci-dessous avec une réservation de 1 cœur CPU et 1 GPU :

#!/bin/bash
#SBATCH -J mon_job
#SBATCH -p shared
#SBATCH --nodes 1
#SBATCH --ntasks 1
#SBATCH --time=0:15:00
#SBATCH --gres=gpu:1

apptainer exec --bind /tmpdir,/work --nv /work/conteneurs/sessions-interactives/tensorflow-24.02-tf2-py3-calmip-si.sif python mon_script.py
info

Le conteneur n'a accès par défaut qu'à votre espace $HOME. Si vous avez besoin des espaces WORK /work ou SCRATCH /tmpdir vous pouvez les accrocher en utilisant l'option --bind d'Apptainer par exemple :

apptainer exec --nv --bind /tmpdir,/work ....

Pour plus d'information

Pour plus d'information sur l'utilisation des conteneurs Apptainer :

Conteneur tensorflow et modules python supplémentaires

Attention

L'utilisation de ce conteneur est incompatible avec l'utilisation des environnements conda !

Néanmoins, vous pouvez ajouter des modules avec pip depuis le conteneur en se positionnant sur une frontale de connexion pour l'installation (les noeuds de calcul n'ont pas d'accès à internet) :

apptainer shell --nv /work/conteneurs/sessions-interactives/tensorflow-24.02-tf2-py3-calmip-si.sif

Puis, vous pouvez installer les modules souhaités avec obligatoirement l'option --user afin de les installer dans votre home :

Apptainer> pip install --user wandb
info

Les paquets seront installés dans votre environnement pip par défaut. Si vous souhaitez les installer dans un environnemnt spécifique, vous devrez positionner cette variable d'environnement pour l'installation, et la paramétrer pour l'exécution du conteneur :

Lors de l'installation du paquet

export PYTHONUSERBASE="${HOME}/myenv3"
Apptainer> pip install --user wandb

Puis lors de l'exécution du conteneur :

apptainer exec --env "PYTHONUSERBASE=${HOME}/myenv3" --nv /work/conteneurs/sessions-interactives/tensorflow-24.02-tf2-py3-calmip-si.sif python mon_script.py