Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ressources:fidle4cbp [2022/05/25 17:12]
equemene [Création des notebooks et des bases d'images]
ressources:fidle4cbp [2022/05/25 17:50] (Version actuelle)
equemene [Lancement du jupiter-notebook]
Ligne 1: Ligne 1:
 ====== Utilisation de Fidle au Centre Blaise Pascal ====== ====== Utilisation de Fidle au Centre Blaise Pascal ======
  
-La formation [[https://​gricad-gitlab.univ-grenoble-alpes.fr/​talks/​fidle/​-/​wikis/​home:​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, ...).//+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. 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 notebook ​Fidle au CBP.+Voici quelques lignes pour pouvoir lancer simplement tous les //​notebooks// ​Fidle au CBP.
  
 ===== Création des notebooks et des bases d'​images ===== ===== Création des notebooks et des bases d'​images =====
  
   - Création du dossier accueillant les notebook et les bases d'​images : <​code>​mkdir -p /​local/​$USER/​FidleROOT</​code>​   - Création du dossier accueillant les notebook et les bases d'​images : <​code>​mkdir -p /​local/​$USER/​FidleROOT</​code>​
-  - Déplacement dans le dossier : ''​cd /​local/​$USER/​FidleROOT''​ +  - Déplacement dans le dossier : <​code>​cd /​local/​$USER/​FidleROOT</​code>​ 
-  - Téléchargement des notebooks : ''​git clone https://​gricad-gitlab.univ-grenoble-alpes.fr/​talks/​fidle.git''​ +  - Téléchargement des notebooks : <​code>​git clone https://​gricad-gitlab.univ-grenoble-alpes.fr/​talks/​fidle.git</​code>​ 
-  - Téléchargement des bases d'​images : ''​wget https://​fidle.cnrs.fr/​fidle-datasets.tar''​ +  - Téléchargement des bases d'​images : <​code>​wget https://​fidle.cnrs.fr/​fidle-datasets.tar</​code>​ 
-  - Expansion de l'​archive : ''​tar -xf fidle-datasets.tar''​+  - Expansion de l'​archive : <​code>​tar -xf fidle-datasets.tar</​code>​
  
 <note important>​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.</​note>​ <note important>​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.</​note>​
Ligne 20: Ligne 20:
  
 En lieu et place des lignes précédentes : 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''​ +  - Création du dossier accueillant les notebook et les bases d'​images : <​code>​mkdir -p /​local/​$USER/​FidleROOT</​code>​ 
-  - Déplacement dans le dossier : ''​cd /​local/​$USER/​FidleROOT''​ +  - Déplacement dans le dossier : <​code>​cd /​local/​$USER/​FidleROOT</​code>​ 
-  - 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 notebooks : <​code>​tar xzf /​projects/​FidleROOT/​fidle.tgz</​code>​ 
-  - Téléchargement de l'​archive et expansion des images : ''​tar xzf /​projects/​FidleROOT/​fidle-datasets.tar''​+  - Téléchargement de l'​archive et expansion des images : <​code>​tar xf /​projects/​FidleROOT/​fidle-datasets.tar</​code>​
  
 ===== Chargement de l'​environnement conda3 du CBP ===== ===== Chargement de l'​environnement conda3 du CBP =====
Ligne 31: Ligne 31:
 Son chargement se fait par l'​application de la commande :<​code>​module load conda3/​4.9.2</​code>​ Son chargement se fait par l'​application de la commande :<​code>​module load conda3/​4.9.2</​code>​
  
-==== Lancement du jupiter-notebook ​====+===== Paramétrage de l'​emplacement des images des bases Fidle =====
  
-<​code>​jupyter-notebook --no-browser --ip=$(hostname)</​code>​+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 :<​code>​export FIDLE_DATASETS_DIR=/local/$USER/​FidleROOT/​fidle-datasets</​code>​
  
  
-==== Installation d'un logiciel dans l'​environnement Conda installée ​====+===== Lancement du jupiter-notebook =====
  
-Une fois l'​environnement chargé avec ''​source ​$HOME/​CondaLatest.rc'',​ il suffit de taper ''​conda install ​<Logiciel>''​ pour que **Conda** recherche les dépendances,​ les installe puis installe le logiciel spécifié.+<​code>​jupyter-notebook --no-browser --ip=$(hostname)</code>
  
-Par exemple, pour l'​installation ​de machine learning **pytorch** ​''​conda install pytorch''​+Au chargement ​de la ligne précédente,​ le terminal affiche des lignes comparables aux suivantes :<​code>​ 
 +[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 
 +</​code>​
  
-==== Logs complets d'une installation ====+Copier l'adresse commençant par ''​http''​ mais ne contenant pas ''​127.0.0.1''​ et la coller dans son navigateur. Ici, ce serait : <​code>​http://​gtx980tialpha:​8888/?​token=76e46066caea92735c79f1903f1e055d511cee0525a16bb3</​code>​
  
-Voici les logs complets d'une installation classique : +Cette ligne ouvre le serveur Web créé par l'outil Jupyter sur la machine **gtx980tialpha** au Centre Blaise Pascal
-<​code>​ +
-[/​home/​jmylq/​miniconda3] >>>​ /​scratch/​$USER/​miniconda3 +
-PREFIX=/​scratch/​jmylq/​miniconda3 +
-Unpacking payload ​... +
-Collecting package metadata (current_repodata.json):​ done                                                                                                                       +
-Solving environment:​ done+
  
-## Package Plan ##+<note warning>​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.</​note>​
  
-  environment location: /​scratch/​jmylq/​miniconda3+===== Chargement d'un notebook dans le navigateur =====
  
-  added / updated specs: +Une fois l'​adresse précédente copiée dans le navigateur, on obtient ceci :
-    - _libgcc_mutex==0.1=main +
-    - brotlipy==0.7.0=py39h27cfd23_1003 +
-    - ca-certificates==2020.12.8=h06a4308_0 +
-    - certifi==2020.12.5=py39h06a4308_0 +
-    - cffi==1.14.4=py39h261ae71_0 +
-    - chardet==3.0.4=py39h06a4308_1003 +
-    - conda-package-handling==1.7.2=py39h27cfd23_1 +
-    - conda==4.9.2=py39h06a4308_0 +
-    - cryptography==3.3.1=py39h3c74f83_0 +
-    - idna==2.10=py_0 +
-    - ld_impl_linux-64==2.33.1=h53a641e_7 +
-    - libedit==3.1.20191231=h14c3975_1 +
-    - libffi==3.3=he6710b0_2 +
-    - libgcc-ng==9.1.0=hdf63c60_0 +
-    - libstdcxx-ng==9.1.0=hdf63c60_0 +
-    - ncurses==6.2=he6710b0_1 +
-    - openssl==1.1.1i=h27cfd23_0 +
-    - pip==20.3.1=py39h06a4308_0 +
-    - pycosat==0.6.3=py39h27cfd23_0 +
-    - pycparser==2.20=py_2 +
-    - pyopenssl==20.0.0=pyhd3eb1b0_1 +
-    - pysocks==1.7.1=py39h06a4308_0 +
-    - python==3.9.1=hdb3f193_2 +
-    - readline==8.0=h7b6447c_0 +
-    - requests==2.25.0=pyhd3eb1b0_0 +
-    - ruamel_yaml==0.15.80=py39h27cfd23_0 +
-    - setuptools==51.0.0=py39h06a4308_2 +
-    - six==1.15.0=py39h06a4308_0 +
-    - sqlite==3.33.0=h62c20be_0 +
-    - tk==8.6.10=hbc83047_0 +
-    - tqdm==4.54.1=pyhd3eb1b0_0 +
-    - tzdata==2020d=h14c3975_0 +
-    - urllib3==1.25.11=py_0 +
-    - wheel==0.36.1=pyhd3eb1b0_0 +
-    - xz==5.2.5=h7b6447c_0 +
-    - yaml==0.2.5=h7b6447c_0 +
-    - zlib==1.2.11=h7b6447c_3+
  
 +{{:​ressources:​fidle1.png?​600|}}
  
-The following NEW packages will be INSTALLED:+Ces deux dossiers **fidle** et **fidle-datasets** contiennent respectivement l'​ensemble des //​notebooks//​ du cours et les bases d'​images.
  
-  _libgcc_mutex ​     pkgs/​main/​linux-64::​_libgcc_mutex-0.1-main +Par exemple, pour sélectionner le notebook sur l'​apprentissage de chiffres manuscrits, choisir **02-CNN-MNIST.ipynb**
-  brotlipy ​          ​pkgs/​main/​linux-64::​brotlipy-0.7.0-py39h27cfd23_1003 +
-  ca-certificates ​   pkgs/​main/​linux-64::​ca-certificates-2020.12.8-h06a4308_0 +
-  certifi ​           pkgs/​main/​linux-64::​certifi-2020.12.5-py39h06a4308_0 +
-  cffi               ​pkgs/​main/​linux-64::​cffi-1.14.4-py39h261ae71_0 +
-  chardet ​           pkgs/​main/​linux-64::​chardet-3.0.4-py39h06a4308_1003 +
-  conda              pkgs/​main/​linux-64::​conda-4.9.2-py39h06a4308_0 +
-  conda-package-han~ pkgs/​main/​linux-64::​conda-package-handling-1.7.2-py39h27cfd23_1 +
-  cryptography ​      ​pkgs/​main/​linux-64::​cryptography-3.3.1-py39h3c74f83_0 +
-  idna               ​pkgs/​main/​noarch::​idna-2.10-py_0 +
-  ld_impl_linux-64 ​  ​pkgs/​main/​linux-64::​ld_impl_linux-64-2.33.1-h53a641e_7 +
-  libedit ​           pkgs/​main/​linux-64::​libedit-3.1.20191231-h14c3975_1 +
-  libffi ​            ​pkgs/​main/​linux-64::​libffi-3.3-he6710b0_2 +
-  libgcc-ng ​         pkgs/​main/​linux-64::​libgcc-ng-9.1.0-hdf63c60_0 +
-  libstdcxx-ng ​      ​pkgs/​main/​linux-64::​libstdcxx-ng-9.1.0-hdf63c60_0 +
-  ncurses ​           pkgs/​main/​linux-64::​ncurses-6.2-he6710b0_1 +
-  openssl ​           pkgs/​main/​linux-64::​openssl-1.1.1i-h27cfd23_0 +
-  pip                pkgs/​main/​linux-64::​pip-20.3.1-py39h06a4308_0 +
-  pycosat ​           pkgs/​main/​linux-64::​pycosat-0.6.3-py39h27cfd23_0 +
-  pycparser ​         pkgs/​main/​noarch::​pycparser-2.20-py_2 +
-  pyopenssl ​         pkgs/​main/​noarch::​pyopenssl-20.0.0-pyhd3eb1b0_1 +
-  pysocks ​           pkgs/​main/​linux-64::​pysocks-1.7.1-py39h06a4308_0 +
-  python ​            ​pkgs/​main/​linux-64::​python-3.9.1-hdb3f193_2 +
-  readline ​          ​pkgs/​main/​linux-64::​readline-8.0-h7b6447c_0 +
-  requests ​          ​pkgs/​main/​noarch::​requests-2.25.0-pyhd3eb1b0_0 +
-  ruamel_yaml ​       pkgs/​main/​linux-64::​ruamel_yaml-0.15.80-py39h27cfd23_0 +
-  setuptools ​        ​pkgs/​main/​linux-64::​setuptools-51.0.0-py39h06a4308_2 +
-  six                pkgs/​main/​linux-64::​six-1.15.0-py39h06a4308_0 +
-  sqlite ​            ​pkgs/​main/​linux-64::​sqlite-3.33.0-h62c20be_0 +
-  tk                 ​pkgs/​main/​linux-64::​tk-8.6.10-hbc83047_0 +
-  tqdm               ​pkgs/​main/​noarch::​tqdm-4.54.1-pyhd3eb1b0_0 +
-  tzdata ​            ​pkgs/​main/​noarch::​tzdata-2020d-h14c3975_0 +
-  urllib3 ​           pkgs/​main/​noarch::​urllib3-1.25.11-py_0 +
-  wheel              pkgs/​main/​noarch::​wheel-0.36.1-pyhd3eb1b0_0 +
-  xz                 ​pkgs/​main/​linux-64::​xz-5.2.5-h7b6447c_0 +
-  yaml               ​pkgs/​main/​linux-64::​yaml-0.2.5-h7b6447c_0 +
-  zlib               ​pkgs/​main/​linux-64::​zlib-1.2.11-h7b6447c_3+
  
 +{{:​ressources:​fidle2.png?​600|}}
  
-Preparing transaction:​ done +Le //notebook// se chargePour l'​exécuter pas à pas, cliquer sur **Run**
-Executing transaction:​ done +
-installation finished. +
-Do you wish the installer to initialize Miniconda3 +
-by running conda init? [yes|no] +
-[no] >>>​ yes +
-no change ​    /scratch/​jmylq/​miniconda3/​condabin/​conda +
-no change ​    /​scratch/​jmylq/​miniconda3/​bin/​conda +
-no change ​    /​scratch/​jmylq/​miniconda3/​bin/​conda-env +
-no change ​    /​scratch/​jmylq/​miniconda3/​bin/​activate +
-no change ​    /​scratch/​jmylq/​miniconda3/​bin/​deactivate +
-no change ​    /​scratch/​jmylq/​miniconda3/​etc/​profile.d/​conda.sh +
-no change ​    /​scratch/​jmylq/​miniconda3/​etc/​fish/​conf.d/​conda.fish +
-no change ​    /​scratch/​jmylq/​miniconda3/​shell/​condabin/​Conda.psm1 +
-no change ​    /​scratch/​jmylq/​miniconda3/​shell/​condabin/​conda-hook.ps1 +
-no change ​    /​scratch/​jmylq/​miniconda3/​lib/​python3.9/​site-packages/​xontrib/​conda.xsh +
-no change ​    /​scratch/​jmylq/​miniconda3/​etc/​profile.d/​conda.csh +
-modified ​     ​/home/jmylq/.bashrc+
  
-==> For changes to take effect, close and re-open your current shell<==+{{:​ressources:​fidle3.png?600|}}
  
-If you'd prefer that conda'​s base environment not be activated on startup +Au chargement des éléments initiauxle //​notebook//​ informe par exemple que la librairie **cudart** est bien chargée. Les GPU présents sur la machine pourront être exploités.
-   set the auto_activate_base parameter to false: ​+
  
-conda config --set auto_activate_base false+{{:​ressources:​fidle4.png?​600|}}
  
-Thank you for installing Miniconda3! +L'​exécution de cellules suivantes rappelle des informations sur l'​environnement complet d'​exécution.
-</​code>​+
  
 +{{:​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 ''<​Ctrl><​C>''​. Le terminal demande une confirmation validée par un '​y'​.<​code>​
 +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
 +</​code>​
  
ressources/fidle4cbp.1653491520.txt.gz · Dernière modification: 2022/05/25 17:12 par equemene