====== Installation et configuration de Python pour les TPs / Python setup for practical sessions ======
**Note : ** instructions validées sous Ubuntu, à adapter en fonction de votre système d'exploitation. Attention, ces environnements virtuels peuvent occuper beaucoup d'espace. **L'installation peut être assez longue, veuillez la faire avant les séances pratiques !**
Pour les travaux impliquant de coder pour pratiquer les algorithmes, nous utilisons le langage Python 3 avec les bibliothèques adaptées aux mathématiques et aux sciences (voir la page [[outils|Outils logiciels]] pour plus de détails).
Le plus pratique pour configurer librement une ou plusieurs installations est d'utiliser un gestionnaire d'environnements virtuels Python type [[https://docs.conda.io/|Conda]].\\
L'installation décrite ici propose aussi d'ajouter [[https://ipython.org/|IPython]] (python interactif) et [[https://www.spyder-ide.org/|Spyder]], un éditeur Python développé pour les études scientifiques. Elle inclut aussi les systèmes de notebooks [[https://jupyter.org/|Jupyter]] (python interactif dans le navigateur web) et spyder-notebook (plugin équivalent pour Jupyter), au cas où il soit nécessaire pour certains TPs.\\
//Note : Le lancement du serveur web Jupyter se fait via la commande suivante (son dossier racine sera le dossier de lancement de la commande, et l'environnement Python utilisé sera l'environnement conda actif) ://
jupyter notebook
\\
**Étapes de l'installation / Installation steps**
Installer d'abord le système type conda permettant de gérer différents environnements Python en fonction des besoins : [[https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html|micromamba]] recommandé pour sa plus grande rapidité de fonctionnement (version allégée de [[https://mamba.readthedocs.io|Mamba]]), sinon l'original [[https://docs.conda.io/en/latest/miniconda.html|Miniconda]] (ou [[https://www.anaconda.com/|Anaconda]]).\\
//First install a conda-type system to manage various Python environments: [[https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html|micromamba]] recommended for its faster operation (light version of [[https://mamba.readthedocs.io|Mamba]]), otherwise original [[https://docs.conda.io/en/latest/miniconda.html|Miniconda]] (or [[https://www.anaconda.com/|Anaconda]]).//
Ouvrir un terminal, et créer l'environnement virtuel avec toutes les bibliothèques utiles pour nos sessions pratiques, nommé par exemple « sy32 » (changer l'appel micromamba par mamba ou conda en fonction de votre installation) :
//Open a terminal, then create a virtual environment with all the needed libraries, called for example "sy32" (change micromamba call with mamba or conda according to your setup)://
micromamba create -n sy32 -c conda-forge -c pytorch python=3.8 scikit-image scikit-learn opencv matplotlib spyder-notebook pytorch torchvision torchinfo addict plyfile tqdm labelimg
(NumPy, SciPy, Spyder et notebook seront aussi installés car sont requis pour ces bibliothèques.)\\
(torchinfo est optionnel est sert à visualiser l'architecture des réseaux de manière similaire à la commande summary de Keras.)
Puis, pour entrer dans cet environnement :
//From now, to enter in this environment://
micromamba activate sy32
Enfin, la bibliothèque open3d n'est disponible maintenant que via pip, pour l'installer, faire (à l'intérieur du bon environnement python) :
//Finally, open3d library is now only available via pip, to install it, do (inside the appropriate ptyhon environment)://
pip install open3d
**Si besoin, commande pour mettre à jour toutes les bibliothèques**
micromamba update --all
**Si besoin, commande pour nettoyer le cache conda/mamba**
micromamba clean --all
====== Note sur les bibliothèques d'apprentissage profond installées ======
**Ne servent que pour SY32 et ARS2.**
**Maintenant, seul PyTorch est utilisé dans nos exercices pratiques, l'installation de Keras n'est pas nécessaire.**
Vous pouvez si vous le souhaiter installer Keras par les commandes qui suivent (référez-vous à la documentation de chaque bibliothèque pour voir les options de versions, etc).
* Keras (TensorFlow), si GPU compatile CUDA (NVidia) :
micromamba install -c conda-forge tensorflow-gpu
* ou bien Keras, pour fonctionnement sur CPU seulement :
micromamba install -c conda-forge tensorflow
** Vérification de l'installation **
Pour vérifier si Keras et PyTorch peuvent fonctionner sur GPU, vous pouvez exécuter les codes suivants dans Python :
* Keras (TensorFlow) :
import tensorflow as tf
tf.test.is_built_with_cuda()
tf.config.list_physical_devices('GPU')
* PyTorch :
import torch
torch.cuda.is_available()
print(torch.cuda.device_count())
====== S'initier au langage Python pour les sciences ? ======
Des documents utiles sont donnés dans la page des [[ressources#tutoriels_et_documentations_pour_mise_a_niveau_python_pour_les_sciences|Ressources de référence]] !