Hub Python 庫文件
TensorBoard 日誌記錄器
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
TensorBoard 日誌記錄器
TensorBoard 是一個用於機器學習實驗的視覺化工具包。TensorBoard 允許跟蹤和視覺化損失和準確性等指標,視覺化模型圖,檢視直方圖,顯示影像等等。TensorBoard 與 Hugging Face Hub 緊密整合。當 TensorBoard 追蹤(如 tfevents
)被推送到 Hub 時,Hub 會自動檢測並啟動一個例項來視覺化它們。有關 Hub 上 TensorBoard 整合的更多資訊,請檢視此指南。
為了從這種整合中受益,huggingface_hub
提供了一個自定義日誌記錄器,可以將日誌推送到 Hub。它作為 SummaryWriter 的直接替代品,無需額外程式碼。追蹤仍然儲存在本地,並且後臺作業會定期將它們推送到 Hub。
HFSummaryWriter
類 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
分鐘(預設為每 5 分鐘)推送到 Hub。
HFSummaryWriter
是實驗性的。其 API 將來可能會在不事先通知的情況下更改。
示例
# 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)