Hub Python 库文档
TensorBoard 日志记录器
加入 Hugging Face 社区
并获取增强的文档体验
开始使用
TensorBoard 日志记录器
TensorBoard 是用于机器学习实验的可视化工具包。TensorBoard 允许跟踪和可视化指标,例如损失和准确率,可视化模型图,查看直方图,显示图像等等。TensorBoard 与 Hugging Face Hub 良好集成。当 TensorBoard 跟踪(例如 tfevents
)被推送到 Hub 时,Hub 会自动检测到,并启动一个实例来可视化它们。要获取有关 Hub 上 TensorBoard 集成的更多信息,请查看 本指南。
为了从此集成中受益,huggingface_hub
提供了一个自定义日志记录器,用于将日志推送到 Hub。它可以作为 SummaryWriter 的直接替代品,无需额外的代码。跟踪仍然在本地保存,后台作业会定期将它们推送到 Hub。
HFSummaryWriter
class huggingface_hub.HFSummaryWriter
< 源代码 >( *args **kwargs )
参数
- repo_id (
str
) — 日志将推送到的仓库的 ID。 - logdir (
str
, 可选) — 日志将被写入的目录。如果未指定,则基础SummaryWriter
对象将创建一个本地目录。 - commit_every (
int
或float
, 可选) — 日志推送到 Hub 的频率(以分钟为单位)。默认为 5 分钟。 - squash_history (
bool
, 可选) — 是否在每次提交后压缩仓库的历史记录。默认为False
。当仓库变得太大时,压缩提交对于避免仓库性能下降很有用。 - repo_type (
str
, 可选) — 日志将推送到的仓库的类型。默认为“model”。 - repo_revision (
str
, 可选) — 日志将推送到的仓库的修订版本。默认为“main”。 - repo_private (
bool
, 可选) — 是否将仓库设为私有。如果为None
(默认),则仓库将是公开的,除非组织的默认设置为私有。如果仓库已存在,则此值将被忽略。 - path_in_repo (
str
, 可选) — 日志将被推送到的仓库中文件夹的路径。默认为“tensorboard/”。 - repo_allow_patterns (
List[str]
或str
, 可选) — 要包含在上传中的模式列表。默认为"*.tfevents.*"
。查看上传指南以获取更多详细信息。 - repo_ignore_patterns (
List[str]
或str
, 可选) — 要在上传中排除的模式列表。查看上传指南以获取更多详细信息。 - token (
str
, 可选) — 身份验证令牌。将默认为存储的令牌。有关更多详细信息,请参阅 https://huggingface.co/settings/token - kwargs — 传递给
SummaryWriter
的其他关键字参数。
tensorboard 的 SummaryWriter
的包装器,用于将训练日志推送到 Hub。
数据在本地记录,然后异步推送到 Hub。将数据推送到 Hub 在单独的线程中完成,以避免阻塞训练脚本。特别是,如果上传因任何原因失败(例如,连接问题),主脚本将不会中断。数据每 commit_every
分钟自动推送到 Hub(默认为每 5 分钟)。
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)