TensorBoard : Comment mieux comprendre les modèles ML ?

-
4
 m de lecture
-

Si les algorithmes d'apprentissage automatique sont de plus en plus utilisés, ils représentent également des coûts non négligeables pour les organisations qui les utilisent. Il est donc primordial d’analyser les performances des modèles de Machine Learning. C’est justement possible avec TensorBoard.

Découvrez cet outil de visualisation, ses fonctionnalités et son utilisation avec TensorFlow ou PyTorch. 

C’est quoi TensorBoard ?

TensorBoard est une suite d’applications web pour inspecter et comprendre vos modèles de réseaux neuronaux créés sur TensorFlow. Pour rappel, TensorFlow est une bibliothèque open source utilisée pour créer des modèles de Machine Learning et de Deep Learning.

À travers TensorBoard, les développeurs et Data Scientists peuvent interpréter beaucoup plus facilement les visualisations fournies par TensorFlow. Ils peuvent ainsi ajuster des hyperparamètres, détecter des problèmes potentiels ou encore suivre la progression de l’apprentissage.

In fine, cet outil facilite le processus de développement de modèles d’apprentissage automatique, afin qu’ils soient plus performants et plus robustes.

Bon à savoir : TensorBoard fonctionne aussi bien en ligne qu’hors ligne (c’est-à-dire , sans accès à Internet). Vous pouvez ainsi l’installer sur une machine locale.

Quelles sont les fonctionnalités de TensorBoard ?

La visualisation

En tant que kit d’outils de visualisation, TensorBoard vous permet de visualiser différents types de données: 
  • Les graphes Scalars : l’objectif est de visualiser les statistiques scalaires qui évoluent  dans le temps. À travers cette fonctionnalité, il est possible de suivre le taux d’apprentissage, les loss, de comparer plusieurs exécutions, d’organiser les balises, etc. 
  • Les histogrammes : ces graphiques affichent la façon dont la distribution statistique évolue au fil du temps. L’idée est alors de visualiser des « tranches » temporelles de données et d’identifier les biais à chaque époque.
  • Les distributions : ce graphique analyse la distribution des poids des modèles. Ainsi, chaque ligne représente un centile de la distribution des données.  Cette fonctionnalité peut être utile pour détecter des problèmes tels que l’explosion ou la disparition des gradients.
  • Les images : il affiche des images au format png (celles qui ont été sauvegardées via un tf.summary.image). Ce tableau de bord peut être utilisé pour intégrer des visualisations personnalisées. 
  • Les audios : si vous souhaitez intégrer des widgets audio pour vos données audio, c’est ce dashboard qu’il faudra utiliser. 
  • L’explorateur de graphiques : vous pouvez visualiser les graphes de calcul des modèles TensorFlow. Cela vous permet ainsi de mieux comprendre la structure des réseaux neuronaux (que ce soit au niveau des couches, des opérations ou des connexions entre les neurones). 
  • L’exploration des embeddings : les embeddings correspondent aux représentations vectorielles des données apprises par le modèle. En explorant les embeddings, vous pourrez visualiser les données à haute dimension.

Comme il vous permet de visualiser tous types de données, Tensorflow est particulièrement utile pour inspecter les données d’entraînement, les activations des neurones et d’autres aspects du modèle ML.

Le suivi des métriques d'apprentissage

Les différentes possibilités de visualisation permettent aux Data Scientists de suivre les métriques d’apprentissage. Ils pourront ainsi analyser : 

  • les courbes d’apprentissage ; 
  • les courbes de perte ; 
  • les taux d’apprentissage ; 
  • les précisions et les rappels.

Et ce, tout au long de leur travail de modélisation. Ce faisant, ils peuvent améliorer en continu leur modèles de Machine Learning.

TensorBoard.dev

Il ne s’agit pas d’une fonctionnalité propre à TensorBoard, mais plutôt d’une extension totalement gratuite. TensorBoard.dev pour permet alors d’héberger, de suivre et de partager vos expériences d’apprentissage automatique. Vous pourrez y visualiser des graphiques, des histogrammes, des distributions, des tableaux de bord, etc.

Mais attention, dès lors qu’ils sont chargés, les TensorBoards sont visibles par tous. Alors si vous avez des données sensibles, ne les y intégrez pas. 

Pour utiliser cet outil, voici les démarches à suivre : 

  • Préparez vos logs TensorBoard ; 
  • Téléchargez les logs (pour cela, mieux vaut installer la dernière version de TensorBoard) ; 
  • Visualisez vos expériences sur TensorBoard.dev.

Comment utiliser TensorBoard ?

Avec TensorFlow

Avant d’utiliser TensorBoard, il est primordial d’installer TensorFlow. Si ce n’est pas déjà fait, vous pouvez simplement utiliser la commande : pip install tensorflow. 

Dès lors, il vous suffit de suivre ces étapes : 

  • Importez TensorBoard depuis le module TensorFlow : soit dans votre script Python, soit dans votre notebook Jupyter. 
  • Créez un Callback TensorBoard : la création d’un ordre de rappel TensorBoard permet de connecter l’outil à votre modèle. Ce callback va alors collecter les données d’entraînement et les enregistrer dans un répertoire de journalisation spécifié.
  • Entraînez votre modèle : pour cela, appelez le Callback TensorBoard et assurez-vous que le modèle soit correctement configuré pour l’entraînement.
  • Exécutez TensorBoard : il vous suffit d’ouvrir un terminal, d’accéder au répertoire où les données TensorBoard sont enregistrées, puis de taper la commande suivante : tensorboard –logdir=./logs. Ici ./logs correspond au chemin du répertoire de stockage des données. Ce faisant, vous verrez une sortie indiquant l’URL locale
  • Accédez à l’interface TensorBoard : il suffit d’ouvrir votre navigateur web et de taper l’URL locale indiquée dans la sortie.

À travers ces manipulations, vous pourrez visualiser et surveiller l’entraînement de vos modèles TensorFlow.

Avec PyTorch

En plus de TensorFlow, TensorBoard peut aussi être utilisée en sortie de l’application PyTorch. 

Pour cela, il faut d’abord importer les modules nécessaires, comme PyTorch et TensorFlow dans le script Python. Par la suite, vous devrez définir un Writer en utilisant la classe Summarywriter. Cela permet ainsi de créer un répertoire de sauvegarde pour les données TensorBoard. Ensuite, vous pouvez définir les ordres de rappels en fonction des résultats que vous souhaitez visualiser.

Rejoignez DataScientest pour approfondir vos connaissances en Machine Learning

Si TensorBoard facilite l’analyse des performances des modèles de Machine Learning,  encore faut-il savoir les préparer, les modéliser et les entraîner. Or, pour cela, il est plus que nécessaire de se former. DataScientest vous propose justement sa formation en science des données qui vous aidera à maîtriser tous les aspects de l’intelligence artificielle : de la programmation au Machine Learning, en passant par l’analyse de données ou la data visualisation.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.
Poursuivre la lecture

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?