Hub Python Library documentation

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

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