Pour exploiter le miniconda3 version 23.3.1 installé au Centre Blaise Pascal sur les machines du domaine CLoudCBP, il suffit de taper dans un terminal :
module load conda3/23.3.1
Ce miniconda3 comprend notamment les outils classiques de machine learning PyTorch et Tensorflow.
Miniconda est un outil permettant à chaque utilisateur d'installer un environnement Python (et ses dépendances) pour ses propres besoins. C'est devenu nécessaire voire indispensable pour les applications demandant des versions très spécifiques de librairies.
L'installation de son environnement personnel se décompose en 3 phases :
miniconda
sur le site de condaLe site de site de conda est assez explicite.
Pour récupérer le dernier installeur Miniconda pour Python 3.9, tapez les commandes suivantes :
cd $HOME wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O $HOME/Miniconda.sh
$HOME
). En effet, Conda (Miniconda
ou Anaconda
) installe des centaines de milliers de fichiers. Le $HOME
de chaque utilisateur est par défaut limité à 20GB et 500000 inodes. Vous risquez donc de remplir votre espace utilisateur avec une simple installation de Conda
L'installation de compose de 7 étapes :
cp $HOME/.bashrc $HOME/.bashrc.orig
bash $HOME/Miniconda3.sh
<Entrée>
à la première invite Python In order to continue the installation process, please review the license agreement. Please, press ENTER to continue >>>
oui
à la seconde invite Python Do you accept the license terms? [yes|no] [no] >>>
/scratch/$USER/Miniconda3
à l'invite Python - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below [/home/<MyLogin>/miniconda3] >>>
projects
/projects/users/$USER/Miniconda3
/projects/<MonProjet>/Miniconda3
yes
à l'invite python Do you wish the installer to initialize Miniconda3 by running conda init? [yes|no]
Par défaut, la configuration de votre shell est modifiée : à chaque ouverture de terminal, l'environnement Conda sera chargé, ce qui peut poser des difficultés si vous travaillez avec plusieurs environnements.
Le mieux est d'appliquer les deux commandes suivantes pour retrouver son environnement initial ET extraire de quoi lancer à discrétion l'environnement Conda :
tail -15 $HOME/.bashrc > CondaLatest.rc cp $HOME/.bashrc.orig $HOME/.bashrc
/projects
, /scratch
ou /local
, assurez-vous de créer d'abord le dossier avec mkdir /projects/users/$USER
, mkdir /scratch/$USER
ou mkdir /local/$USER
De manière à lancer l'environnement Conda, il suffit de lancer la commande : source $HOME/CondaLatest.rc
.
Dans un terminal :
jmylq@threadripper:~$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games jmylq@threadripper:~$ source $HOME/CondaLatest.rc (base) jmylq@threadripper:~$ echo $PATH /scratch/jmylq/miniconda3/bin:/scratch/jmylq/miniconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games (base) jmylq@threadripper:~$ echo $LD_LIBRARY_PATH
Nous voyons que le $PATH
a été amendé des chemins vers
/scratch/jmylq/miniconda3/bin
/scratch/jmylq/miniconda3/condabin
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
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!