Hub Python Library documentation

Journalier TensorBoard

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Journalier TensorBoard

TensorBoard est un kit d’outils de visualisation pour l’expérimentation en apprentissage automatique. TensorBoard permet de suivre et de visualiser des métriques telles que la perte et la précision, de visualiser le graphe du modèle, d’afficher des histogrammes, d’afficher des images et bien plus encore. TensorBoard est bien intégré au Hugging Face Hub. Le Hub détecte automatiquement les traces TensorBoard (telles que tfevents) lorsqu’elles sont poussées vers le Hub, ce qui démarre une instance pour les visualiser. Pour en savoir plus sur l’intégration de TensorBoard au Hub, consultez ce guide.

Pour profiter de cette intégration, huggingface_hub fournit un journaliseur personnalisé pour envoyer les journaux vers le Hub. Il fonctionne comme un remplacement direct de SummaryWriter sans code supplémentaire. Les traces sont toujours enregistrées localement et un tâche en arrière-plan les pousse vers le Hub à intervalle régulier.

HFSummaryWriter

classe huggingface_hub.HFSummaryWriter

< >

( *args**kwargs )

Paramètres

  • repo_id (str) — L’identifiant du dépôt vers lequel les journaux seront poussés.
  • logdir (str, facultatif) — Le répertoire où les journaux seront écrits. S'il n'est pas spécifié, un répertoire local sera créé par l'objet SummaryWriter sous-jacent.
  • commit_every (int ou float, facultatif) — La fréquence (en minutes) à laquelle les journaux sont poussés vers le Hub. Valeur par défaut : 5 minutes.
  • squash_history (bool, facultatif) — Indique s'il faut écraser l'historique du dépôt après chaque commit. La valeur par défaut est False. L'écrasement des commits est utile pour éviter une dégradation des performances du dépôt lorsqu'il devient trop volumineux.
  • repo_type (str, facultatif) — Le type de dépôt vers lequel les journaux seront poussés. La valeur par défaut est « model ».
  • repo_revision (str, facultatif) — La révision du dépôt vers laquelle les journaux seront poussés. La valeur par défaut est « main ».
  • repo_private (bool, facultatif) — Indique s'il faut rendre le dépôt privé. Si None (par défaut), le dépôt sera public sauf si le paramètre par défaut de l'organisation est privé. Cette valeur est ignorée si le dépôt existe déjà.
  • path_in_repo (str, facultatif) — Le chemin vers le dossier du dépôt où les journaux seront poussés. La valeur par défaut est “tensorboard/”.
  • repo_allow_patterns (list[str] ou str, facultatif) — Une liste de motifs à inclure dans le téléversement. La valeur par défaut est "*.tfevents.*". Consultez le guide de téléversement pour plus de détails.
  • repo_ignore_patterns (list[str] ou str, facultatif) — Une liste de motifs à exclure lors de la téléversement. Consultez le guide de téléversement pour plus de détails.
  • token (str, facultatif) — Jeton d’authentification. Par défaut, le jeton stocké est utilisé. Voir https://huggingface.co/settings/token pour plus de détails
  • kwargs — Arguments supplémentaires passés à SummaryWriter.

Enveloppe autour de SummaryWriter de tensorboard pour envoyer les journaux d’entraînement vers le Hub.

Les données sont enregistrées localement puis poussées vers le Hub de manière asynchrone. La poussée des données vers le Hub est effectuée dans un thread séparé afin d’éviter de bloquer le script d’entraînement. En particulier, si le téléversement échoue pour quelque raison que ce soit (par exemple un problème de connexion), le script principal ne sera pas interrompu. Les données sont automatiquement poussées vers le Hub toutes les commit_every minutes (par défaut, toutes les 5 minutes).

HFSummaryWriter est expérimental. Son API est susceptible d’évoluer à l’avenir sans préavis.

Exemples :

# Taken from https://pytorch.org/docs/stable/tensorboard.html
- from torch.utils.tensorboard import SummaryWriter
+ from huggingface_hub import HFSummaryWriter

import numpy as np

- writer = SummaryWriter()
+ writer = HFSummaryWriter(repo_id="username/my-trained-model")

for n_iter in range(100):
    writer.add_scalar('Loss/train', np.random.random(), n_iter)
    writer.add_scalar('Loss/test', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/train', np.random.random(), n_iter)
    writer.add_scalar('Accuracy/test', np.random.random(), n_iter)
>>> from huggingface_hub import HFSummaryWriter

# Logs are automatically pushed every 15 minutes (5 by default) + when exiting the context manager
>>> with HFSummaryWriter(repo_id="test_hf_logger", commit_every=15) as logger:
...     logger.add_scalar("a", 1)
...     logger.add_scalar("b", 2)
Update on GitHub