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=X
où X
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.