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).

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
prefix: /Users/username/anaconda3/envs/env-name

Si vous avez installé Anaconda 2019.10 sur macOS, votre prefix devrait être /Users/username/opt/envs/env-name.

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

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.