Gérer son environnement avec Conda

Qu’est ce que Conda ?

Conda est un système de gestion de paquets et d’environnement open-source qui fonctionne sous Windows, macOS et Linux. Conda installe, exécute et met à jour rapidement les paquets et leurs dépendances. Conda crée, enregistre, charge et bascule facilement entre les environnements sur votre ordinateur local.

Il a été créé pour les programmes Python, mais il peut empaqueter et distribuer des logiciels pour n’importe quel langage.

Références :

Pourquoi utiliser Conda sur les clusters de GRICAD ?

Conda vous permet d’avoir accès aux principaux frameworks en IA : tensorflow, tensorflow-gpu, keras, torch, torchvision, pycuda

Utilisation de Conda

Vous devez premièrement sourcer le script suivant pour avoir accès à Conda :

$ source /applis/environments/conda.sh

Vous obtiendrez la liste des environnements disponibles avec la commande :

$ conda env list

Pour activer un environnement, utilisez la commande conda activate . Ici on active l’environnement qui contient Torch en version 1.X pour Python 3.

$ conda activate torch1.X_py3

Vous trouverez un ensemble de commandes Conda ici.

Création d’un environnement virtuel Conda

Il se peut qu’aucun environnement de la liste ne corresponde à vos besoins. Pour cela, vous pouvez créer votre propre environnement Conda.

Pour ce faire :

$ conda create --name $ENVIRONMENT_NAME python tensorflow

Il faut remplacer $ENVIRONMENT_NAME par le nom de l’environnement que vous souhaitez créer. Vous pouvez rajouter tous les packages à installer dans votre environnement, à la suite de python (ici l’environnement contiendra python et tensorflow).

La création d’un environnement peut prendre du temps et de la ressource. N’oubliez pas de vous connecter à noeud de calcul via la commande oarsub.

Pour créer un environnement à partir d’un fichier environnement.yml :

$ conda env create -f environment.yml

Le contenu de environnement.yml est de la forme :

name: env-name
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.7
  - tensorflow

Vous pouvez visiter cette page pour trouver des commandes plus spécifiques de création d’environnement.