Anaconda

Quelques mots sur Anaconda

Pour ce TP, nous allons travailler avec Anaconda , distribution scientifique libre et open source de Python, disponible pour les principaux systèmes d’exploitation, Windows, Linux et MacOS.

Anaconda utilise l’outil conda pour la gestion des paquets logiciels (librairies), la gestion des dépendances entre les paquets et la mise en place d’environnements de développements multiples séparés. Il existe aussi un autre gestionnaire de paquet, pip.

Pour la mise en place d’un environnement python spécifique pour ce TP Deep Learning, nous avons besoin de réaliser quelques lignes de commandes sur le terminal Anaconda3, « Powershell Prompt (Anaconda3) », disponible sur le menu windows.

Avant toute chose, si Anaconda est déjà installé sur votre machine locale, il est préférable de mettre à jour conda.

Sur les postes de l’ESGT, nous ne pouvons le faire (permission administrateur requise).

En revanche sur votre machine personnelle, cette mise à jour s’effectue via la commande ci-dessous.

conda update --yes --name base --channel defaults conda

Dans ce document toutes les comandes avec des arguments sont écrites avec un syntaxe explicite, précédés des deux signes « – » consécutifs.

Il est possible d’utiliser une syntaxe implicite, plus concise, avec un seul signe « - » suivi uniquement de la première lettre de l’argument.

Par exemple, la commande de mise à jour conda, écrite explicitement ci-dessus, peut s’écrire implicitement de la manière suivante :

conda update -y -n base -c defaults conda

Activation d’un environnement déjà installé

La création et l’installation d’un environnement python avec toutes les bibliothèques choisie s’effectue dans un répertoire. Pour s’affranchir de cette installation ( coûteuse en temps et surtout sur le trafic réseau de l’ESGT), il est possible de récupérer ce répertoire sur une machine, ayant le même système d’exploitation, où cette installation a déjà été réalisé. Ensuite, il suffit de pointer vers l’emplacement de ce répertoire dans votre arborescence pour l’activer via conda.

Ainsi, sur une machine de la salle 107, notre environnement de travail pour ce TP, nommé deepLearning, a été installé dans un réperoitres nommé envs ( l’arboresence est : envs/deepLearning). Ce répertoire compressé , envs.zip est disponible sur Atlas.

Après l’avoir copié sur le réseau à l’emplacement : \\atlas2\Cours\IG4\Photogrammétrie_TNP\DeepLearning\ , puis collé sur le Disque local D: de votre machine, vous pourrez le décompresser.

Si cette arborescence est bien respectée nous allons pouvoir activer cet environnement avec la commande :

conda activate D:/DeepLearning/envs/deepLearning

Avec cette méthode, il est nécessaire d’installer le kernel ipython, ce qui s’effectue de la manière suivante :

ipython kernel install --user --name-deepLearning

Toujours dans voutre terminal « Powershell Prompt (Anaconda3) » , vous pouvez naviguer dans l’arborescence de votre système avec la commande cd ( pour c hange d irectory). Ainsi pour se placer dans votre répertoire de travail D:/DeepLearning , vous pouvez saisir :

cd D:/DeepLearning

Vous pouvez également lister le contenu de votre arborescence avec la commande ls (l i s t)

Aujourd’hui nous allons travailler avec l’application web open-source jupyter notebook qui peut se lancer tout simplement avec la commande :

jupyter notebook

Il vous faudra bien prendre soin dans votre jupyter notebook de bien sélectionner le bon kernet noyau > Changer de noyau > deep Learning

Installation d’un environnement à partir d’un fichier YAML

À partir du fichier deepLearning_env.yml, nous allons créer un environnement python, nommé deepLearning et installer Python avec toutes les librairies nécessaires pour ce TP. La volumétrie de cet environnement étant de 3.8 Go, il est nécessaire de s’assurer au préalable l’espace disponible sur le Disque local (C:).

Si l’espace sur le Disque local (C:) est suffisant vous pouvez lancer la commande suivante

conda env create --name deepLearning --file deepLearning_env.yml

Activez l’environnement deepLearning ainsi créé avec :

conda activate deepLearning

Sinon, si l’espace sur le Disque local (C:) n’est pas suffisant , pas de panique , il est possible de préciser le répertoire d’installation notament sur le Disque local (D:).

conda env create --prefix /envs/deepLearning --file env.yml

Activez l’environnement deepLearning ainsi créé avec la commande suivante : (il est possible de faire un copié collé avec la souris en séléctionnant avec un simple clic gauche le texte voulue suivi d’un double clic droit)

conda activate D:/DeepLearning/envs/deepLearning

Quelques Commandes conda utiles

Vous pouvez lister l’ensemble des environnement installés comme ceci:

conda env list

ou alors comme cela :

conda info --envs

Lister l’ensemble des librairies de votre environnement deepLearning ainsi installées :

conda list --name deepLearning

Pour installer un package ( par ex. package_name):

conda install --yes package_name

ou encore plus précisement avec la version souhaité (num_version) :

conda install --yes package_name=num_version

ou bien avec l’installateur pip (veillez à bien doubler l’égalité pour le numéro de version) :

pip install package_name==num_version

Pour désactiver son environnement :

conda deactivate

Pour supprimer un environnement (env_name)

conde env remove --name env-name

et si celui-ci a été créé avec l’option prefix :

conda env remove --prefix /chemin_vers_le_dossier_d_installation

Pour garantir la reproductibilité de vos codes pythons dans votre environnement Python, une excellente pratique est d’exporter son environnement my_env_name dans un fichier YAML :

conda env export > my_env_name.yml

Il existe de nombreuses options de commandes, d’options de configuration possibles. Un rapide aperçu possible avec l’aide conda :

conda --help

Pour plus d’information vous pourrez prendre le temps de consulter le site officiel de conda