Hub Python 库文档

TensorBoard 日志记录器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始

TensorBoard 日志记录器

TensorBoard 是一个用于机器学习实验的可视化工具包。TensorBoard 允许跟踪和可视化诸如损失和准确性之类的指标,可视化模型图,查看直方图,显示图像等等。TensorBoard 与 Hugging Face Hub 集成良好。Hub 在推送到 Hub 时会自动检测 TensorBoard 跟踪(例如 tfevents),从而启动一个实例来可视化它们。要获取有关 Hub 上 TensorBoard 集成的更多信息,请查看本指南

为了从这种集成中获益,huggingface_hub 提供了一个自定义日志记录器来将日志推送到 Hub。它可以作为 SummaryWriter 的直接替换,无需任何额外的代码。跟踪仍然保存在本地,并且后台作业会定期将它们推送到 Hub。

HFSummaryWriter

huggingface_hub.HFSummaryWriter

< >

( *args **kwargs )

参数

  • repo_id (str) — 要将日志推送到其中的仓库的 ID。
  • logdir (str, 可选) — 将写入日志的目录。如果未指定,则底层 SummaryWriter 对象将创建一个本地目录。
  • commit_every (intfloat, 可选) — 将日志推送到 Hub 的频率(以分钟为单位)。默认为 5 分钟。
  • squash_history (bool, 可选) — 是否在每次提交后压缩仓库的历史记录。默认为 False。压缩提交对于避免仓库变得太大时性能下降很有用。
  • repo_type (str, 可选) — 要将日志推送到其中的仓库的类型。默认为“model”。
  • repo_revision (str, 可选) — 要将日志推送到其中的仓库的修订版本。默认为“main”。
  • repo_private (bool, 可选) — 是否创建私有仓库。默认为 False。如果仓库已存在,则忽略此参数。
  • path_in_repo (str, 可选) — 仓库中日志将被推送到其中的文件夹的路径。默认为“tensorboard/”。
  • repo_allow_patterns (List[str]str, 可选) — 要包含在上传中的模式列表。默认为 "*.tfevents.*"。查看 上传指南 以了解更多详细信息。
  • token (str可选) — 身份验证令牌。将默认为存储的令牌。有关更多详细信息,请参阅 https://huggingface.co/settings/token kwargs — 传递给SummaryWriter的其他关键字参数。

Tensorboard 的SummaryWriter的包装器,用于将训练日志推送到 Hub。

数据在本地记录,然后异步推送到 Hub。推送到 Hub 的数据在单独的线程中完成,以避免阻塞训练脚本。特别是,如果上传因任何原因失败(例如连接问题),主脚本将不会中断。数据每隔commit_every分钟(默认为每 5 分钟)自动推送到 Hub。

HFSummaryWriter 处于实验阶段。其 API 可能会在将来更改,恕不另行通知。

示例

# Taken from https://pytorch.ac.cn/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)
< > 在 GitHub 上更新