Hub Python Library documentation
Journalier TensorBoard
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
< source >( *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'objetSummaryWritersous-jacent. - commit_every (
intoufloat, 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 estFalse. 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é. SiNone(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]oustr, 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]oustr, 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).
HFSummaryWriterest 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)