메인 콘텐츠로 건너뛰기
메트릭이나 설정 파라미터를 기준으로 각 W&B run에 색상을 지정해, 시각적으로 의미 있는 선형 플롯과 플롯 범례를 만들 수 있습니다. 성능 메트릭(최대값, 최소값, 혹은 최신값)에 따라 run에 색상을 부여해 여러 실험 간의 패턴과 추세를 파악할 수 있습니다. W&B는 선택한 파라미터 값에 따라 run을 자동으로 색상별 버킷으로 그룹화합니다. run에 메트릭 또는 설정 기반 색상을 사용하려면 두 가지 설정을 해야 합니다:

키 기반 색상 활성화

  1. W&B 프로젝트로 이동합니다.
  2. 프로젝트 사이드바에서 Workspace 탭을 선택합니다.
  3. 오른쪽 상단의 Settings 아이콘을 클릭합니다.
  4. 드로어에서 Runs를 선택합니다.
  5. Run colors 섹션에서 Key-based colors를 선택합니다.
  6. 다음 옵션을 설정합니다.
    • Key 드롭다운에서 run 색상을 지정하는 데 사용할 메트릭을 선택합니다.
    • Y value 드롭다운에서 run 색상을 지정하는 데 사용할 y 값을 선택합니다.
    • 버킷 개수를 2에서 8 사이의 값으로 설정합니다.
키 기반 색상을 사용하면 run 색상 사용자 지정 옵션을 사용할 수 없습니다.
다음 섹션에서는 메트릭과 y 값을 설정하는 방법 및 run 색상을 지정하는 데 사용되는 버킷을 사용자 지정하는 방법을 설명합니다.

예시: 손실 메트릭을 사용한 키 기반 색상 지정

이 예시 플롯에서 run은 그라데이션으로 색이 표시되며, 어두운 색은 더 높은 손실 값, 밝은 색은 더 낮은 손실 값을 나타냅니다. Y 값은 각 run의 가장 최신 손실 값을 사용하도록 latest로 설정합니다.

메트릭 설정

Key 드롭다운에 표시되는 메트릭 옵션은 사용자가 W&B에 로깅하는 키-값 쌍과 W&B에서 정의한 기본 메트릭을 기반으로 생성됩니다.

기본 메트릭

  • Relative Time (Process): run의 상대 시간으로, run이 시작된 이후 경과한 초 단위 시간입니다.
  • Relative Time (Wall): run의 상대 시간으로, run이 시작된 이후 경과한 초 단위 시간에 실제 벽시계 시각을 반영해 조정한 값입니다.
  • Wall Time: run의 벽시계 시각으로, 유닉스 에포크(Unix epoch) 이후 경과한 초 단위 시간입니다.
  • Step: run의 스텝 번호로, 일반적으로 트레이닝이나 평가 진행 상황을 추적하는 데 사용됩니다.

커스텀 메트릭

트레이닝 또는 평가 스크립트에서 로깅한 커스텀 메트릭을 기반으로 run의 색상을 지정하고 의미 있는 플롯 범례를 만들 수 있습니다. 커스텀 메트릭은 키-값 쌍으로 로깅되며, 키는 메트릭 이름이고 값은 메트릭 수치입니다. 예를 들어, 다음 코드 스니펫은 트레이닝 루프 동안 정확도("acc" 키)와 손실("loss" 키)을 로깅합니다:
import wandb
import random

epochs = 10

with wandb.init(project="basic-intro") as run:
  # 트레이닝 루프에서 메트릭을 로깅하는 블록 시뮬레이션
  offset = random.random() / 5
  for epoch in range(2, epochs):
      acc = 1 - 2 ** -epoch - random.random() / epoch - offset
      loss = 2 ** -epoch + random.random() / epoch + offset

      # 스크립트에서 W&B로 메트릭 로깅
      run.log({"acc": acc, "loss": loss})
Key 드롭다운에서 "acc""loss"가 모두 옵션으로 제공됩니다.

설정 키 지정하기

Key 드롭다운에 표시되는 설정 옵션은 W&B run을 초기화할 때 config 파라미터로 전달한 키-값 쌍에서 결정됩니다. 설정 키는 일반적으로 트레이닝이나 평가 스크립트에서 사용하는 하이퍼파라미터 및 기타 설정을 로깅하는 데 사용됩니다.
import wandb

config = {
  "learning_rate": 0.01,
  "batch_size": 32,
  "optimizer": "adam"
}

with wandb.init(project="basic-intro", config=config) as run:
  # 트레이닝 코드를 여기에 작성하세요
  pass
Key 드롭다운에서 "learning_rate", "batch_size", "optimizer"가 옵션으로 제공됩니다.

y 값 설정

다음 옵션 중에서 선택할 수 있습니다:
  • Latest: 각 선에서 마지막으로 로깅된 스텝의 Y 값을 기준으로 색상을 결정합니다.
  • Max: 해당 메트릭에 대해 로깅된 가장 높은 Y 값을 기준으로 색상을 결정합니다.
  • Min: 해당 메트릭에 대해 로깅된 가장 낮은 Y 값을 기준으로 색상을 결정합니다.

버킷 사용자 정의

버킷은 선택한 메트릭 또는 설정 키에 따라 run들을 분류하기 위해 W&B가 사용하는 값 범위입니다. 버킷은 지정된 메트릭 또는 설정 키의 전체 값 범위에 걸쳐 균등하게 분포되며, 각 버킷에는 고유한 색상이 할당됩니다. 해당 버킷의 범위에 속하는 run은 그 색상으로 표시됩니다. 다음 예시를 살펴보십시오:
색으로 구분된 runs
  • Key"Accuracy"(약어는 "acc")로 설정되어 있습니다.
  • Y value"Max"로 설정되어 있습니다.
이 설정에서 W&B는 각 run을 정확도 값에 따라 색으로 구분합니다. 색상은 연한 노란색부터 진한 색까지 다양합니다. 연한 색은 낮은 정확도 값을, 더 진한 색은 높은 정확도 값을 나타냅니다. 이 메트릭에 대해 6개의 버킷이 정의되어 있으며, 각 버킷은 특정 정확도 값 범위를 나타냅니다. Buckets 섹션에는 다음과 같은 버킷 범위가 정의되어 있습니다:
  • Bucket 1: (Min - 0.7629)
  • Bucket 2: (0.7629 - 0.7824)
  • Bucket 3: (0.7824 - 0.8019)
  • Bucket 4: (0.8019 - 0.8214)
  • Bucket 5: (0.8214 - 0.8409)
  • Bucket 6: (0.8409 - Max)
아래 선 그래프에서, 가장 높은 정확도(0.8232)를 가진 run은 진한 보라색(Bucket 5)으로 표시되고, 가장 낮은 정확도(0.7684)를 가진 run은 연한 주황색(Bucket 2)으로 표시됩니다. 다른 run들도 정확도 값에 따라 색이 지정되며, 색상 그라데이션은 상대적인 성능을 나타냅니다.
색으로 구분된 runs 플롯