Outils pour utilisateurs

Outils du site


python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
python [2019/07/17 14:24] – créée nicwagnepython [2026/06/24 08:42] (Version actuelle) admin
Ligne 1: Ligne 1:
 +====== Installer une version de Python en local (Miniforge / conda) ======
 +
 +Cette procédure permet à chaque utilisateur d'installer **sa propre version de Python**
 +dans son répertoire personnel, sans droits administrateur et indépendamment de la
 +version système du cluster. Elle s'appuie sur
 +[[https://github.com/conda-forge/miniforge|Miniforge]], une distribution conda légère
 +basée sur conda-forge. On peut ainsi créer autant d'environnements isolés que
 +nécessaire, chacun avec sa propre version de Python et ses propres paquets.
 +
 +===== 1. Téléchargement et installation  =====
 +
 +__**A faire depuis un serveur en accès direct : christmas ou l40s02**__
 +
 +Installation dans le répertoire personnel (''~'') :
 +
 +<code bash>
 +# Télécharger l'installeur (Linux x86_64)
 +wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
 +
 +# Installer en mode silencieux dans ~/miniforge3
 +bash Miniforge3-Linux-x86_64.sh -b -p ~/miniforge3
 +
 +# (optionnel) supprimer l'installeur une fois terminé
 +rm Miniforge3-Linux-x86_64.sh
 +</code>
 +
 +===== 2. Création d'un environnement =====
 +
 +<code bash>
 +# Charger conda dans le shell courant
 +source ~/miniforge3/etc/profile.d/conda.sh
 +
 +# Créer un environnement avec Python 3.10
 +conda create -n my_env python=3.10 -y
 +
 +# Activer l'environnement
 +conda activate my_env
 +
 +# Vérifier la version
 +python --version
 +
 +# Installer les paquets voulus
 +pip install ...
 +</code>
 +
 +===== 3. Réutilisation après reconnexion =====
 +
 +À chaque nouvelle connexion, il faut recharger conda puis réactiver l'environnement :
 +
 +<code bash>
 +source ~/miniforge3/etc/profile.d/conda.sh
 +conda activate my_env
 +</code>
 +
 +===== 4. Utilisation dans un script Slurm =====
 +
 +Ces deux lignes doivent être placées dans le script **avant** l'appel à Python :
 +
 +<code bash>
 +source ~/miniforge3/etc/profile.d/conda.sh
 +conda activate my_env
 +
 +python mon_script.py
 +</code>
 +
 +===== Remarques =====
 +
 +  * **Quota du home** : les environnements conda sont volumineux. Attention à ne pas multiplier les environnements.
 +  * **Ne pas lancer ''conda init''** sur le cluster : cela modifie le ''.bashrc'' et peut interférer avec d'autres outils. La méthode par ''source ... conda.sh'' ci-dessus est volontairement préférée.
 +
 +
 +
 +/*
 ====== Quelques informations concernant l'utilisation de python sur la plateforme====== ====== Quelques informations concernant l'utilisation de python sur la plateforme======
  
-===== Problème concernant les lock file appliqué à Keras et H5PY=====+===== Problème concernant le lock files avec Keras et H5PY===== 
 + 
 + Si vous utilisez une bibliothèque pour manipuler des fichiers, il est possible que vous rencontriez un problème lié au lock file. En effet, sur toutes les machines utilisant CentOs (les noeuds liés à frontalhpc), il semblerait que le NFS (système de fichier en réseau) ait un paramètre visant à bloquer les lock files.  
 + 
 + Voici la solution pour contourner ce problème si vous utilisez la bibliothèque de deep learning 'Keras'. Par exemple, si vous souhaitez enregistrer un modèle avec des checkpoints, vous risquez de rencontrer ce type d'erreur: 
 + 
 +  OSError: Unable to create file(unable to lock file, errno=5, error message='Input/output error')
  
-Si vous utilisez une bibliothèque pour manipuler des fichiers, il est possible que vous rencontriez un problème lié au lock file. En effet, sur toutes les machines utilisant CentOs (les noeuds liés à frontalhpc), il semblerait que le NFS (système de fichier en réseau) ait un paramètre visant à bloquer les lock files+Keras utilise la bibliothèque H5PY pour enregistrer ses modèles et c'est cette bibliothèque qui renvoie l'erreur.
  
-Je vais donner ici la solution pour contourner ce problème avec la bibliothèque de deep learning 'Keras'. Si vous souhaitez enregistrer un modèle avec des checkpoint par exemple, vous risquez d'avoir une erreur. Keras utilise la bibliothèque H5PY pour enregistrer ses modèles et c'est cette bibliothèque qui renvoie l'erreur. Pour la résoudre, il faut lui spécifier, via une variable d'environnement, de ne pas utiliser les lock file:+ Pour la résoudre, il faut lui spécifier, via une variable d'environnement, de ne pas utiliser les lock file:
  
   export HDF5_USE_FILE_LOCKING="FALSE"   export HDF5_USE_FILE_LOCKING="FALSE"
      
-Vous pouvez insérer cette commande dans votre script d'exécution ou encore dans votre bashrc. +Vous pouvez insérer cette commande dans votre script d'exécution ou encore dans votre bashrc. */
python.1563366243.txt.gz · Dernière modification : 2019/07/17 14:24 de nicwagne