Hub Python Library documentation

Logger do TensorBoard

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v2.4.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Logger do TensorBoard

TensorBoard é um conjunto de ferramentas de visualização para experimentação em aprendizado de máquina. O TensorBoard permite rastrear e visualizar métricas, como perda e precisão, visualizar o grafo do modelo, exibir histogramas, exibir imagens e muito mais. O TensorBoard está bem integrado ao Hugging Face Hub. O Hub detecta automaticamente os rastros do TensorBoard (como tfevents) quando enviados ao Hub, o que inicia uma instância para visualizá-los. Para obter mais informações sobre a integração do TensorBoard no Hub, consulte este guia.

Para se beneficiar dessa integração, huggingface_hub fornece um logger personalizado para enviar logs ao Hub. Ele funciona como uma substituição direta para SummaryWriter sem a necessidade de código extra. Os rastros ainda são salvos localmente e um job em segundo plano os envia ao Hub em intervalos regulares.

HFSummaryWriter

classe huggingface_hub.HFSummaryWriter

< >

( *args**kwargs )

Parâmetros

  • repo_id (str) — O id do repositório para o qual os logs serão enviados.
  • logdir (str, opcional) — O diretório onde os logs serão gravados. Se não for especificado, um diretório local será criado pelo objeto SummaryWriter subjacente.
  • commit_every (int ou float, opcional) — A frequência (em minutos) com que os logs serão enviados para o Hub. O padrão é 5 minutos.
  • squash_history (bool, opcional) — Se deve comprimir o histórico do repositório após cada commit. O padrão é False. A compressão de commits é útil para evitar o declínio de desempenho no repositório quando ele cresce demais.
  • repo_type (str, opcional) — O tipo do repositório para o qual os logs serão enviados. O padrão é “model”.
  • repo_revision (str, opcional) — A revisão do repositório para a qual os logs serão enviados. O padrão é “main”.
  • repo_private (bool, opcional) — Se deve tornar o repositório privado. Se None (padrão), o repositório será público, a menos que o padrão da organização seja privado. Este valor é ignorado se o repositório já existir.
  • path_in_repo (str, opcional) — O caminho para a pasta no repositório onde os logs serão enviados. O padrão é “tensorboard/”.
  • repo_allow_patterns (list[str] ou str, opcional) — Uma lista de padrões a serem incluídos no upload. O padrão é "*.tfevents.*". Consulte o guia de upload para mais detalhes.
  • repo_ignore_patterns (list[str] ou str, opcional) — Uma lista de padrões para excluir no upload. Consulte o guia de upload para mais detalhes.
  • token (str, opcional) — Token de autenticação. O padrão será o token armazenado. Consulte https://huggingface.co/settings/token para mais detalhes
  • kwargs — Argumentos de palavra-chave adicionais passados para SummaryWriter.

Wrapper em torno do SummaryWriter do tensorboard para enviar logs de treinamento para o Hub.

Os dados são registrados localmente e, em seguida, enviados ao Hub de forma assíncrona. O envio de dados ao Hub é realizado em uma thread separada para evitar bloquear o script de treinamento. Em particular, se o upload falhar por qualquer motivo (por exemplo, um problema de conexão), o script principal não será interrompido. Os dados são enviados automaticamente ao Hub a cada commit_every minutos (padrão: a cada 5 minutos).

HFSummaryWriter é experimental. Sua API está sujeita a alterações no futuro sem aviso prévio.

Exemplos:

# 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