Dépôt contenant un échafaudage pour un projet d'IA générative basé sur Python 3 avec accélération GPU utilisant l'écosystème PyTorch.
Suivez simplement les instructions pour créer un nouveau référentiel de projet à partir de ce modèle.
L'organisation du projet est basée sur les idées de Good Enough Practices for Scientific Computing .
bin
.data
.doc
.docker
.env
.notebooks
.results
.src
. Après avoir ajouté toutes les dépendances nécessaires qui doivent être téléchargées via conda
au fichier environment.yml
et toutes les dépendances qui doivent être téléchargées via pip
dans le fichier requirements.txt
, vous créez l'environnement Conda dans un sous-répertoire ./env
de votre répertoire de projet en exécutant les commandes suivantes.
export ENV_PREFIX= $PWD /env
mamba env create --prefix $ENV_PREFIX --file environment.yml --force
Une fois le nouvel environnement créé, vous pouvez activer l'environnement avec la commande suivante.
conda activate $ENV_PREFIX
Notez que le répertoire ENV_PREFIX
n'est pas sous contrôle de version car il peut toujours être recréé si nécessaire.
Pour votre commodité, ces commandes ont été combinées dans un script shell ./bin/create-conda-env.sh
. L'exécution du script shell créera l'environnement Conda, activera l'environnement Conda et construira JupyterLab avec toutes les extensions supplémentaires. Le script doit être exécuté à partir du répertoire racine du projet comme suit.
./bin/create-conda-env.sh
Le moyen le plus efficace de créer des environnements Conda sur Ibex est de lancer le script de création d'environnement en tant que tâche sur la partition de débogage via Slurm. Pour votre commodité, un script de travail Slurm ./bin/create-conda-env.sbatch
est inclus. Le script doit être exécuté à partir du répertoire racine du projet comme suit.
sbatch ./bin/create-conda-env.sbatch
La liste des dépendances explicites du projet est répertoriée dans le fichier environment.yml
. Pour voir la perte totale des packages installés dans l'environnement, exécutez la commande suivante.
conda list --prefix $ENV_PREFIX
Si vous ajoutez (supprimez) des dépendances au (du) fichier environment.yml
ou au fichier requirements.txt
une fois que l'environnement a déjà été créé, vous pouvez recréer l'environnement avec la commande suivante.
$ mamba env create --prefix $ENV_PREFIX --file environment.yml --force
Afin de créer des images Docker pour votre projet et d'exécuter des conteneurs avec accélération GPU, vous devrez installer Docker, Docker Compose et le runtime NVIDIA Docker.
Des instructions détaillées sur l'utilisation de Docker pour créer, créer des images et lancer des conteneurs peuvent être trouvées dans le docker/README.md
.