Aller au contenu

IA - Deep Learning

Logithèque disponible

Les frameworks tensorflow et pytorch sont installés sous environnements python3. Ces environnements proposent également le framework de machine learning scikit-learn, des outils de traitement d'images, tels que opencv et scikit-image, ainsi que des outils d'analyse des données tels que pandas.

Il existe trois installations principales disponibles sur Austral : une pour tensorflow et deux pour Pytorch. Pour connaître l'ensemble des installations disponibles :

module avail aidl

  • Pytorch 1.11.0 : L'environnement est accessible en chargeant le module aidl/pytorch/1.11.0-cuda11.3 : module load aidl/pytorch/1.11.0-cuda11.3 cet environnement est accompagné des packages lightning (1.9.3) , optuna (3.1.1), timm (0.6.13) et transformers (4.24.0)
  • Pytorch 2.0.0 : L'environnement est accessible en chargeant le module aidl/pytorch/2.0.0-cuda11.7 : module load aidl/pytorch/2.0.0-cuda11.7 cet environnement est accompagné des packages lightning (1.9.3) , optuna (3.1.1), timm (0.6.13) et transformers (4.24.0)
  • Tensorflow 2.11.0 : L'environnement est accessible en chargeant le module aidl/tensorflow/2.11.0-cuda11.7 : module load aidl/tensorflow/2.11.0-cuda11.7

Le tableau suivant récapitule les différentes versions disponible des frameworks pour chacune de ces deux versions.

module aidl/pytorch/1.11.0-cuda11.3 aidl/pytorch/2.0.0-cuda11.7 aidl/pytorch/2.2.0-cuda12.1
python 3.10.10 3.10.10 3.12.2
cuda 11.3 11.7 12.1
tensorflow - - -
torch 1.11.0 2.0.0 2.2.0
opencv 4.7.0 4.7.0 4.10.0
pandas 1.5.3 1.5.3 2.2.2
scikit-image 0.19.3 0.19.3 0.23.2
scikit-learn 1.2.2 1.2.2 1.4.2
module aidl/tensorflow/2.11.0-cuda11.7 aidl/tensorflow/2.16.1-cuda12
python 3.10.10 3.9.18
cuda 11.7 12.3
tensorflow 2.11.0 2.16.1
torch - -
opencv 4.7.0 4.10.0
pandas 2.0.0 2.2.2
scikit-image 0.20.0 0.24.0
scikit-learn 1.2.2 1.5.2

De nombreux packages complémentaires enrichissent les principaux outils installés. La liste exhaustive des packages, une fois le module chargé, s'obtient par la commande :

pip list

Packages manquants

Si certains packages sont manquant dans l'installation proposée il est recommandé de demander leurs installations à l'équipe technique du CRIANN en adressant la requête à support-calcul@criann.fr

Dans certains cas, il est possible d'installer les packages en local sur le home utilisateur à l'aide de la commande : pip install <package> --user

Dans ce cas, pour éviter les conflits d'installation, le répertoire local par défaut dans lequel le package sera installé dépend de la version de module chargé :

  • aidl/pytorch/1.11.0-cuda11.3 : ~/.python3-3.10-torch111/site-packages
  • aidl/pytorch/2.0.0-cuda11.7 : ~/.python3-3.10-torch200/site-packages
  • aidl/tensorflow/2.11.0-cuda11.7 : ~/.python3-3.10-tf211/site-packages

Utilisation

Pour la plupart des frameworks de Deep Learning l'utilisation des ressources GPUs est recommandée.

Pour accéder aux ressources gpus il est obligatoire de tourner sur les partitions gpu, ou hpda.

Attention : ne pas oublier de préciser le nombre de GPUs affecter à votre calcul grâce à l'option de slurm : --gpus=XX désigne le nombre de device GPU à charger. Vous pouvez également définir le nombre de gpus par noeud (-gus-per-node=) ou bien par tâche (-gpus-per-task).

Bien que calculant majoritairement sur GPUs, la plupart des frameworks font un usage multi-threadé de python. Il est donc pertinent d'affecter plusieurs cpus à une même tâche python. Pour cela il suffit d'utiliser l'option --cpus-per-task de slurm. Le nombre optimal de cpus par tâche est de 8.


Dernière mise à jour: 7 octobre 2024 10:36:23