Ceci est une ancienne révision du document !


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, …).

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.

Création des notebooks et des bases d'images

  1. Création du dossier accueillant les notebook et les bases d'images :
    mkdir -p /local/$USER/FidleROOT
  2. Déplacement dans le dossier :
    cd /local/$USER/FidleROOT
  3. Téléchargement des notebooks :
    git clone https://gricad-gitlab.univ-grenoble-alpes.fr/talks/fidle.git
  4. Téléchargement des bases d'images :
    wget https://fidle.cnrs.fr/fidle-datasets.tar
  5. 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 :

  1. Création du dossier accueillant les notebook et les bases d'images :
    mkdir -p /local/$USER/FidleROOT
  2. Déplacement dans le dossier :
    cd /local/$USER/FidleROOT
  3. Téléchargement de l'archive et expansion des notebooks :
    tar xzf /projects/FidleROOT/fidle.tgz
  4. 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

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:16:18.225 NotebookApp] Serving notebooks from local directory: /local/equemene/FidleROOT
[I 17:16:18.225 NotebookApp] Jupyter Notebook 6.4.11 is running at:
[I 17:16:18.225 NotebookApp] http://gtx980tialpha:8888/?token=33d8c9aa68079937983459d32551393c3ffeee7a1dbbc8fb
[I 17:16:18.225 NotebookApp]  or http://127.0.0.1:8888/?token=33d8c9aa68079937983459d32551393c3ffeee7a1dbbc8fb
[I 17:16:18.225 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 17:16:18.238 NotebookApp] 
    
    To access the notebook, open this file in a browser:
        file:///home/equemene/.local/share/jupyter/runtime/nbserver-265627-open.html
    Or copy and paste one of these URLs:
        http://gtx980tialpha:8888/?token=33d8c9aa68079937983459d32551393c3ffeee7a1dbbc8fb
     or http://127.0.0.1:8888/?token=33d8c9aa68079937983459d32551393c3ffeee7a1dbbc8fb

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=33d8c9aa68079937983459d32551393c3ffeee7a1dbbc8fb

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 son réseau.

Installation d'un logiciel dans l'environnement Conda installée

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é.

Par exemple, pour l'installation de machine learning pytorch : conda install pytorch

Logs complets d'une installation

Voici les logs complets d'une installation classique :

[/home/jmylq/miniconda3] >>> /scratch/$USER/miniconda3
PREFIX=/scratch/jmylq/miniconda3
Unpacking payload ...
Collecting package metadata (current_repodata.json): done                                                                                                                      
Solving environment: done

## Package Plan ##

  environment location: /scratch/jmylq/miniconda3

  added / updated specs:
    - _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


The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  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


Preparing transaction: done
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. <==

If you'd prefer that conda's base environment not be activated on startup, 
   set the auto_activate_base parameter to false: 

conda config --set auto_activate_base false

Thank you for installing Miniconda3!
ressources/fidle4cbp.1653492100.txt.gz · Dernière modification: 2022/05/25 17:21 par equemene