Hub Python Library documentation
TensorBoardロガー
TensorBoardロガー
TensorBoardは、機械学習の実験を可視化するためのツールキットです。TensorBoardを使用すると、損失や精度などのメトリクスを追跡・可視化したり、モデルグラフを可視化したり、ヒストグラムを表示したり、画像を表示したり、さらに多くのことができます。
TensorBoardはHugging Face Hubと密に統合されています。Hubにプッシュされたとき、TensorBoardのトレース(tfeventsなど)が自動的に検出され、それらを可視化するためのインスタンスが起動します。HubでのTensorBoard統合についてさらに詳しく知りたい場合は、このガイドをご覧ください。
この統合の恩恵を受けるために、huggingface_hubは、ログをHubにプッシュするためのカスタムロガーを提供しています。SummaryWriterのドロップインリプレイスメントとして機能し、追加のコードは不要です。トレースは引き続きローカルに保存され、バックグラウンドジョブが一定の間隔でHubにプッシュします。
HFSummaryWriter
class huggingface_hub.HFSummaryWriter
< source >( *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)