4. Outils Xpra/Spyder/Tensorboard#

4.1. Outils sous Xpra#

Le système inclus un émulateur X11, xpra[2] , qui permet d’exécuter dans un navigateur des applications graphiques X11 sur le serveur. On lance xpra à partir de l’interface jupyterlab, et dans un nouvel onglet on a un environnement X11 qui tourne sur le serveur. Un exemple d’interface X11 est donné ci-dessous.

_images/Jupyterxpra.png

Sur les serveurs avec GPU, vous pouvez utiliser l’accélération 3D sur GPU (openGL) en lançant l’application sur le serveur avec la commande vglrun

  vglrun -d egl0 pge

Par exemple pour exécuter comsol avec un affichage 3D sur le GPU0 (egl0)

  module load comsol
  vglrun -d egl0 comsol

Un alias gpurun (pour vglrun -d egl0) est aussi disponible, permettant de lancer plus simplement une application avec un affichage 3D accéléré:

  gpurun pge 

Warning

Attention Lorsque que vous avez terminé l’utilisation de Xpra, il faut l’arréter et pas se contenter de fermer la fenêtre. Pour arrêter Xpra, allez dans le menu le plus à gauche et sélectionner Disconnect.

4.2. IDE Python Spyder#

Dans le terminal, on peut alors lancer des applications graphiques, comme par exemple spyder[3], qui est un IDE Python. Pour cela, on exécute dans le terminal Xpra les commandes suivantes:

cd GPU     
source /var/lib/jupyterhub/venvs/tf/bin/activate
spyder

qui ouvre spyder dans le répertoire GPU où on peut charger le programme Python TensorFlowLSTM.py que l’on éditer et debugger avec spyder [3]. Attention, avec spyder, on doit bien sur spécifier l’environnement virtuel Python que l’on veut utiliser (ici Tensor Flow).

_images/spyder.png

4.3. Tensorboard#

Tensorboard[4] est outil d’analyse en IA qui fournit les mesures et les visualisations nécessaires au cours du workflow d’apprentissage automatique. Il permet de suivre les métriques de l’apprentissage telles que la perte et la précision, de visualiser les graphiques du modèle, et bien plus encore.

Pour utiliser tensorboard dans un notebook, on l’initialise au début du notebook dans une cellule

# Load the TensorBoard notebook extension
%load_ext tensorboard

et on efface les logs précédents.

Avec tensorflow, lors de l’apprentissage du modèle avec Model.fit() (avec Keras) , on ajoute un appel à tf.keras.callbacks.TensorBoard qui permet de créer les journaux (logs) (dans le répertoire spécifié) et des histogrammes de calcul pour chaque époque avec histogram_freq=1 (qui est désactivée par défaut).

A la fin de l’apprentissage, on lance le programme tensorboard avec la commande:

 tensorboard --logdir logs/fit

puis on ouvre un nouvel onglet dans le navigateur pour accéder à la page d’analyse tensorboard en entrant l’URL suivante:

 https://iagpu2-streamlit.univ-lyon1.fr/tensorboard1/

qui fournit une analyse de l’apprentissage comme le montre la figure ci-dessous.

_images/tensorboard.png

Le notebook python utilisé avec tensorboard est donné dans la section suivante.

Warning

Attention l’interface tensorboard est partagé entre tous les utilisateurs, car tensorboard utilise un serveur web avec des ports réservés. Pensez à arreter tensorboard avec ctrl+C et le notebook avec ctrl+shift+Q.

Par défaut, 2 ports sont réservés à tensorboard:

  1. le port 6006 qui est le port par défaut

  2. le port 6007 que l’on peut utiliser si le premier est déjà utilisé en spécifiant:

tensorboard --port=6007 --logdir logs/fit

Dans ce cas, l’URL à utilisé pour visualiser le résultat est la suivante:

 https://iagpu2-streamlit.univ-lyon1.fr/tensorboard2/

4.3.1. Liens#

Liste de référence: