====== Utilisation de Fidle au Centre Blaise Pascal ====== La formation [[https://gricad-gitlab.univ-grenoble-alpes.fr/talks/fidle/-/wikis/home:FIDLE|FIDLE]] (pour Formation Introduction au Deep Learning]] a pour objectif de //proposer une introduction au Deep Learning, allant des concepts fondamentaux aux architectures avancées (VAE, Transformers, GAN, ...).// Cette formation se basant sur l'exploitation de Notebooks Jupyter, elle requiert l'exploitation d'outils, notamment des outils des environnements de //Machine Learning// Tensorflow, PyTorch. La documentation fournie ne propose cependant pas les éléments permettant l'exploitation de GPU. Voici quelques lignes pour pouvoir lancer simplement tous les //notebooks// Fidle au CBP. ===== Création des notebooks et des bases d'images ===== - Création du dossier accueillant les notebook et les bases d'images : mkdir -p /local/$USER/FidleROOT - Déplacement dans le dossier : cd /local/$USER/FidleROOT - Téléchargement des notebooks : git clone https://gricad-gitlab.univ-grenoble-alpes.fr/talks/fidle.git - Téléchargement des bases d'images : wget https://fidle.cnrs.fr/fidle-datasets.tar - Expansion de l'archive : tar -xf fidle-datasets.tar Le choix du dossier **/local/$USER** comme racine n'est pas anodin ! Les bases de données de Machine Learning comportent des dizaines de milliers voire des millions d'images. Placer ces dossiers dans son dossier personnel ''$HOME'' occupera non seulement beaucoup d'espace, mais ralentira considérablement son utilisation. Pour éviter de trop charger le serveur Web hébergeant Fidle au CNRS, une copie a été placée sur l'espace projets du CBP : ''/projects''. Les 5 lignes précédentes peuvent se réduire aux 4 suivantes : En lieu et place des lignes précédentes : - Création du dossier accueillant les notebook et les bases d'images : mkdir -p /local/$USER/FidleROOT - Déplacement dans le dossier : cd /local/$USER/FidleROOT - Téléchargement de l'archive et expansion des notebooks : tar xzf /projects/FidleROOT/fidle.tgz - Téléchargement de l'archive et expansion des images : tar xf /projects/FidleROOT/fidle-datasets.tar ===== Chargement de l'environnement conda3 du CBP ===== L'environnement **conda** proposé en standard au CBP est le 4.9.2. Il intègre la majorité des outils exploités en Machine Learning mais également l'environnement Nvidia nécessaire à l'exploitation des GPU en Machine Learning. Son chargement se fait par l'application de la commande :module load conda3/4.9.2 ===== Paramétrage de l'emplacement des images des bases Fidle ===== De manière à pointer correctement les bases d'images, définir la variable d'environnement ''FIDLE_DATASETS_DIR'' sur l'emplacement des images téléchargées :export FIDLE_DATASETS_DIR=/local/$USER/FidleROOT/fidle-datasets ===== Lancement du jupiter-notebook ===== jupyter-notebook --no-browser --ip=$(hostname) Au chargement de la ligne précédente, le terminal affiche des lignes comparables aux suivantes : [I 17:26:36.731 NotebookApp] Serving notebooks from local directory: /local/equemene/FidleROOT [I 17:26:36.731 NotebookApp] Jupyter Notebook 6.4.11 is running at: [I 17:26:36.731 NotebookApp] http://gtx980tialpha:8888/?token=76e46066caea92735c79f1903f1e055d511cee0525a16bb3 [I 17:26:36.732 NotebookApp] or http://127.0.0.1:8888/?token=76e46066caea92735c79f1903f1e055d511cee0525a16bb3 [I 17:26:36.732 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 17:26:36.743 NotebookApp] To access the notebook, open this file in a browser: file:///home/equemene/.local/share/jupyter/runtime/nbserver-267202-open.html Or copy and paste one of these URLs: http://gtx980tialpha:8888/?token=76e46066caea92735c79f1903f1e055d511cee0525a16bb3 or http://127.0.0.1:8888/?token=76e46066caea92735c79f1903f1e055d511cee0525a16bb3 Copier l'adresse commençant par ''http'' mais ne contenant pas ''127.0.0.1'' et la coller dans son navigateur. Ici, ce serait : http://gtx980tialpha:8888/?token=76e46066caea92735c79f1903f1e055d511cee0525a16bb3 Cette ligne ouvre le serveur Web créé par l'outil Jupyter sur la machine **gtx980tialpha** au Centre Blaise Pascal. Attention, l'utilisation de cette adresse ne fonctionne QUE si vous êtes connecté sur une des machines du Centre Blaise Pascal par x2go ou sur une machine connectée avec un fil sur ce même réseau. ===== Chargement d'un notebook dans le navigateur ===== Une fois l'adresse précédente copiée dans le navigateur, on obtient ceci : {{:ressources:fidle1.png?600|}} Ces deux dossiers **fidle** et **fidle-datasets** contiennent respectivement l'ensemble des //notebooks// du cours et les bases d'images. Par exemple, pour sélectionner le notebook sur l'apprentissage de chiffres manuscrits, choisir **02-CNN-MNIST.ipynb** {{:ressources:fidle2.png?600|}} Le //notebook// se charge. Pour l'exécuter pas à pas, cliquer sur **Run** {{:ressources:fidle3.png?600|}} Au chargement des éléments initiaux, le //notebook// informe par exemple que la librairie **cudart** est bien chargée. Les GPU présents sur la machine pourront être exploités. {{:ressources:fidle4.png?600|}} L'exécution de cellules suivantes rappelle des informations sur l'environnement complet d'exécution. {{:ressources:fidle5.png?600|}} ===== Fermeture de son environnement jupyter notebook ===== Après exploitation, il est IMPERATIF de clôturer son jupyter-notebook, sans quoi la mémoire des GPU reste réservée au notebook en cours d'exécution. Il faut donc dans son terminal taper un ''''. Le terminal demande une confirmation validée par un 'y'. Shutdown this notebook server (y/[n])? y [C 17:43:03.495 NotebookApp] Shutdown confirmed [I 17:43:03.498 NotebookApp] Shutting down 1 kernel [I 17:43:03.499 NotebookApp] Kernel shutdown: 87440d72-6146-4384-a7a0-e8c9c6a51013 [I 17:43:06.116 NotebookApp] Shutting down 0 terminals