Skip to main content
W&B Python SDK를 사용하여 메트릭, 미디어 또는 맞춤형 객체의 딕셔너리를 step에 로깅하세요. W&B는 각 step 동안 key-value 쌍을 수집하고 wandb.Run.log()로 데이터를 로깅할 때마다 하나의 통합된 딕셔너리에 저장합니다. 스크립트에서 로깅한 데이터는 wandb라는 디렉터리에 로컬로 저장된 후 W&B 클라우드 또는 비공개 server로 동기화됩니다.
각 step에 동일한 값을 전달하는 경우에만 key-value 쌍이 하나의 통합된 딕셔너리에 저장됩니다. step에 다른 값을 로깅하면 W&B는 수집된 모든 키와 값을 메모리에 기록합니다.
wandb.Run.log()를 호출할 때마다 기본적으로 새로운 step이 생성됩니다. W&B는 차트와 패널을 만들 때 step을 기본 x축으로 사용합니다. 선택적으로 맞춤형 x축을 만들거나 summary 메트릭을 캡처할 수 있습니다. 자세한 내용은 로깅 축 사용자 지정을 참조하세요.
연속적인 값을 각 step(0, 1, 2 등)에 로깅하려면 wandb.Run.log()를 사용하세요. 특정 이력 step에 쓰는 것은 불가능합니다. W&B는 “current”와 “next” step에만 씁니다.

자동으로 로깅되는 데이터

W&B는 W&B 실험 중 다음 정보를 자동으로 로깅합니다:
  • 시스템 메트릭: CPU 및 GPU 사용량, 네트워크 등. GPU 메트릭은 nvidia-smi로 가져옵니다.
  • 명령줄: stdout과 stderr를 수집하여 run 페이지의 로그 탭에 표시합니다.
다음 정보를 로깅하려면 계정의 설정 페이지에서 코드 저장을 켜세요:
  • Git 커밋: 최신 git 커밋을 수집하여 run 페이지의 개요 탭에 표시하며, 커밋하지 않은 변경 사항이 있으면 diff.patch 파일도 표시합니다.
  • 의존성: requirements.txt 파일을 업로드하여 run 페이지의 파일 탭에 표시하며, 해당 run의 wandb 디렉터리에 저장한 파일도 함께 표시합니다.

특정 W&B API 호출로 어떤 데이터가 로깅되나요?

W&B에서는 로깅할 대상을 정확히 지정할 수 있습니다. 다음은 자주 로깅되는 객체 목록입니다:
  • 데이터셋: 이미지나 기타 데이터셋 샘플을 W&B로 스트리밍하려면 명시적으로 로깅해야 합니다.
  • 플롯: wandb.plot()을 wandb.Run.log()와 함께 사용하여 차트를 추적하세요. 자세한 내용은 플롯 로깅을 참조하세요.
  • table: wandb.Table을 사용하여 W&B에서 시각화하고 쿼리할 데이터를 로깅하세요. 자세한 내용은 table 로깅을 참조하세요.
  • PyTorch 그라디언트: wandb.Run.watch(model)을 추가하면 UI에서 가중치의 그라디언트를 히스토그램으로 볼 수 있습니다.
  • 설정 정보: 하이퍼파라미터, 데이터셋 링크 또는 사용 중인 아키텍처의 이름을 설정 매개변수로 로깅하세요. 다음과 같이 전달합니다: wandb.init(config=your_config_dictionary).
  • 메트릭: wandb.Run.log()를 사용하여 모델의 메트릭을 확인하세요. 트레이닝 루프 내에서 정확도와 손실 같은 메트릭을 로깅하면 UI에서 실시간으로 업데이트되는 그래프를 볼 수 있습니다.

메트릭 이름 지정 제약 조건

GraphQL의 제한으로 인해 W&B의 메트릭 이름은 특정 이름 지정 규칙을 따라야 합니다:
  • 허용되는 문자: 영문자(A-Z, a-z), 숫자(0-9), 밑줄(_)
  • 시작 문자: 이름은 영문자 또는 밑줄로 시작해야 합니다.
  • 패턴: 메트릭 이름은 /^[_a-zA-Z][_a-zA-Z0-9]*$/ 패턴과 일치해야 합니다.
메트릭 이름에 유효하지 않은 문자(예: 쉼표, 공백 또는 특수 기호)를 사용하지 마세요. W&B UI에서 정렬, 쿼리 또는 표시에 문제가 발생할 수 있습니다.
유효한 메트릭 이름:
잘못된 메트릭 이름(다음은 피하세요):

일반적인 워크플로

  1. 최고 정확도 비교: run 간에 메트릭의 최댓값을 비교하려면 해당 메트릭의 summary 값을 설정하세요. 기본적으로 summary는 각 키에 대해 마지막으로 로깅한 값으로 설정됩니다. UI의 table에서 summary 메트릭을 기준으로 run을 정렬하고 필터링할 수 있어 유용합니다. 이를 통해 table이나 막대 차트에서 최종 정확도가 아닌 최고 정확도를 기준으로 run을 비교할 수 있습니다. 예시: wandb.run.summary["best_accuracy"] = best_accuracy
  2. 하나의 차트에서 여러 메트릭 보기: 동일한 호출에서 여러 메트릭을 로깅하세요. 예시:
    그런 다음 UI에서 두 메트릭을 모두 차트로 표시할 수 있습니다.
  3. x축 사용자 지정: 동일한 로깅 호출에 맞춤형 x축을 추가하여 W&B 대시보드에서 다른 축을 기준으로 메트릭을 시각화하세요. 예시:
    특정 메트릭의 기본 x축을 설정하려면 Run.define_metric()을 사용하세요.
  4. 리치 미디어 및 차트 로깅: wandb.Run.log()는 이미지와 비디오 같은 미디어부터 table 및 차트까지 다양한 데이터 유형의 로깅을 지원합니다.

모범 사례 및 팁

Experiments와 로깅에 대한 모범 사례 및 팁은 Best Practices: Experiments and Logging를 참조하세요.
마지막 수정일 2026년 9월 30일