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를 사용하면 손실(loss)과 정확도(accuracy)와 같은 메트릭을 추적하고 시각화하고, 모델 그래프를 시각화하고, 히스토그램을 확인하고, 이미지를 표시하는 등 다양한 작업을 수행할 수 있습니다. TensorBoard는 Hugging Face Hub와 잘 통합되어 있습니다. Hub에 tfevents와 같은 TensorBoard 트레이스가 푸시되면 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, 선택 사항) — 각 커밋 후 리포지토리의 히스토리를 squash할지 여부입니다. 기본값은 False입니다. 커밋을 squash하면 리포지토리가 너무 커질 때 성능 저하를 방지하는 데 유용합니다.
  • repo_type (str, 선택 사항) — 로그가 푸시될 저장소의 유형입니다. 기본값은 “model”입니다.
  • repo_revision (str, 선택 사항) — 로그가 푸시될 저장소의 리비전입니다. 기본값은 “main”입니다.
  • repo_private (bool, 선택 사항) — 리포지토리를 비공개로 만들지 여부를 지정합니다. None(기본값)인 경우, 조직의 기본 설정이 비공개가 아닌 한 리포지토리는 공개됩니다. 리포지토리가 이미 존재하면 이 값은 무시됩니다.
  • path_in_repo (str, 선택 사항) — 로그가 push될 repo 내 폴더의 경로입니다. 기본값은 “tensorboard/”입니다.
  • repo_allow_patterns (list[str] 또는 str, 선택 사항) — 업로드에 포함할 패턴 목록입니다. 기본값은 "*.tfevents.*"입니다. 자세한 내용은 업로드 가이드를 참고하세요.
  • repo_ignore_patterns (list[str] 또는 str, 선택 사항) — 업로드에서 제외할 패턴 목록입니다. 자세한 내용은 업로드 가이드를 참고하세요.
  • token (str, 선택 사항) — 인증 토큰입니다. 저장된 토큰을 기본값으로 사용합니다. 자세한 내용은 https://huggingface.co/settings/token을 참조하세요.
  • kwargs — SummaryWriter에 전달되는 추가 키워드 인자.

Hub에 학습 로그를 전송하기 위해 tensorboard의 SummaryWriter를 감싸는 래퍼입니다.

데이터는 로컬에 기록된 후 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)
>>> 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