메인 콘텐츠로 건너뛰기
트레이닝 중에 시간에 따라 변하는 값 외에도, 모델이나 전처리 단계를 요약하는 단일 값을 추적하는 것이 중요할 때가 많습니다. 이러한 정보는 W&B Run 의 summary 사전(dictionary)에 로그를 남기세요. Run 의 summary 사전은 numpy 배열, PyTorch 텐서 또는 TensorFlow 텐서를 처리할 수 있습니다. 값이 이러한 유형 중 하나인 경우 전체 텐서를 바이너리 파일로 유지하며, summary 오브젝트에는 최소값(min), 평균(mean), 분산(variance), 백분위수(percentiles) 등과 같은 상위 수준의 메트릭을 저장합니다. wandb.Run.log() 로 로그된 마지막 값은 W&B Run 에서 자동으로 summary 사전으로 설정됩니다. summary 메트릭 사전이 수정되면 이전 값은 삭제됩니다. 다음 코드조각은 W&B에 커스텀 summary 메트릭을 제공하는 방법을 보여줍니다:
import wandb
import argparse

with wandb.init(config=args) as run:
  best_accuracy = 0
  for epoch in range(1, args.epochs + 1):
      test_loss, test_accuracy = test()
      if test_accuracy > best_accuracy:
          # summary 사전에 최고 정확도 저장
          run.summary["best_accuracy"] = test_accuracy
          best_accuracy = test_accuracy
트레이닝이 완료된 후에도 기존 W&B Run 의 summary 속성을 업데이트할 수 있습니다. W&B Public API 를 사용하여 summary 속성을 업데이트하세요:
api = wandb.Api()
run = api.run("username/project/run_id")
run.summary["tensor"] = np.random.random(1000)
run.summary.update()

summary 메트릭 커스터마이징

커스텀 summary 메트릭은 run.summary 에 트레이닝 중 가장 좋은 단계에서의 모델 성능을 캡처하는 데 유용합니다. 예를 들어, 최종 값 대신 최대 정확도나 최소 손실 값을 캡처하고 싶을 수 있습니다. 기본적으로 summary는 history의 마지막 값을 사용합니다. summary 메트릭을 커스터마이징하려면 define_metric 에서 summary 인수를 전달하세요. 다음 값들을 사용할 수 있습니다:
  • "min"
  • "max"
  • "mean"
  • "best"
  • "last"
  • "none"
"best" 는 선택적 인수(argument)인 objective"minimize" 또는 "maximize" 로 함께 설정한 경우에만 사용할 수 있습니다. 다음 예제는 손실(loss)과 정확도(accuracy)의 최소값과 최대값을 summary에 추가합니다:
import wandb
import random

random.seed(1)

with wandb.init() as run:
    # loss에 대한 최소 및 최대 요약 값 설정
    run.define_metric("loss", summary="min")
    run.define_metric("loss", summary="max")

    # accuracy에 대한 최소 및 최대 요약 값 설정
    run.define_metric("acc", summary="min")
    run.define_metric("acc", summary="max")

    for i in range(10):
        log_dict = {
            "loss": random.uniform(0, 1 / (i + 1)),
            "acc": random.uniform(1 / (i + 1), 1),
        }
        run.log(log_dict)

summary 메트릭 확인하기

Run 의 Overview 페이지나 프로젝트의 Runs 테이블에서 summary 값을 확인할 수 있습니다.
  1. W&B 앱으로 이동합니다.
  2. Workspace 탭을 선택합니다.
  3. Runs 목록에서 summary 값이 로그된 Run 의 이름을 클릭합니다.
  4. Overview 탭을 선택합니다.
  5. Summary 섹션에서 summary 값을 확인합니다.
Run overview