Ceci est une ancienne révision du document !


Installation et configuration de Python pour les TPs / Python setup for practical sessions

Note : instructions validées sous Ubuntu 20.04, à adapter éventuellement 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 conda : Mamba recommandé pour sa plus grande rapidité de fonctionnement (ou mieux micromamba), sinon l'original Anaconda (ou mieux Miniconda). Ces outils permettent de gérer des environnements virtuels Python et ainsi autant de configurations différentes que l'on souhaite.

First install conda system: Mamba recommended for its faster operation (or better micromamba), otherwise original Anaconda (or better Miniconda). These tools allow to set up as many virtual environments for Python as wanted.

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 conda par mamba ou micromamba en fonction de votre installation) :

Open a terminal, then create a virtual environment with all the needed libraries, called for example “sy32” (change conda call with mamba or micromamba according to your setup):

conda create -n sy32 -c conda-forge -c pytorch -c open3d-admin python=3.8 scikit-image scikit-learn opencv matplotlib spyder-notebook pytorch torchvision torchinfo addict plyfile tqdm open3d

(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:

conda activate sy32

Attention, l'installation n'a pas été testée pour les utilisateurs de Windows et de MacOS.

Si besoin, commande pour mettre à jour toutes les bibliothèques

conda update --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) :
conda install -c conda-forge tensorflow-gpu
  • ou bien Keras, pour fonctionnement sur CPU seulement :
conda 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 !