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 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 Conda.
L'installation décrite ici propose aussi d'ajouter IPython (python interactif) et Spyder, un éditeur Python développé pour les études scientifiques. Elle inclut aussi les systèmes de notebooks 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 : micromamba recommandé pour sa plus grande rapidité de fonctionnement (version allégée de Mamba), sinon l'original Miniconda (ou Anaconda).

First install a conda-type system to manage various Python environments: micromamba recommended for its faster operation (light version of Mamba), otherwise original Miniconda (or 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 de référence !