Hub Python Library documentation

TensorBoardロガー

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

TensorBoardロガー

TensorBoardは、機械学習の実験を可視化するためのツールキットです。TensorBoardを使用すると、損失や精度などのメトリクスを追跡・可視化したり、モデルグラフを可視化したり、ヒストグラムを表示したり、画像を表示したり、さらに多くのことができます。 TensorBoardはHugging Face Hubと密に統合されています。Hubにプッシュされたとき、TensorBoardのトレース(tfeventsなど)が自動的に検出され、それらを可視化するためのインスタンスが起動します。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.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