메인 콘텐츠로 건너뛰기
실험을 실행하면 콘솔에 다양한 메시지가 출력됩니다. W&B는 콘솔 로그를 캡처해 W&B App에 표시합니다. 이 메시지를 활용해 실험 동작을 디버그하고 모니터링하세요.

콘솔 로그 보기

W&B App에서 run의 콘솔 로그를 확인하려면 다음과 같이 하세요:
  1. W&B App에서 프로젝트로 이동합니다.
  2. Runs 테이블에서 run을 선택합니다.
  3. 프로젝트 사이드바에서 Logs 탭을 클릭합니다.
W&B는 run당 최대 100,000줄의 로그를 저장합니다. W&B App에서는 한 번에 최대 10,000줄의 로그만 표시됩니다. 저장된 모든 로그 줄을 보려면 로그를 스크롤하여 이전 줄이 표시되도록 하세요.

콘솔 로그 유형

W&B는 정보 메시지, 경고, 오류 등 여러 유형의 콘솔 로그를 캡처하고, 각 로그의 심각도를 나타내는 접두사를 붙여 표시합니다.

정보 메시지

정보 메시지는 run의 진행 상황과 상태에 대한 정보를 알려줍니다. 일반적으로 앞에 wandb:가 붙습니다.
wandb: Starting Run: abc123
wandb: Run data is saved locally in ./wandb/run-20240125_120000-abc123

경고 메시지

실행을 중단시키지 않는 잠재적 문제에 대한 경고 메시지 앞에는 WARNING: 접두사가 붙습니다.
WARNING Found .wandb file, not streaming tensorboard metrics.
WARNING These runs were logged with a previous version of wandb.

오류 메시지

심각한 문제에 대한 오류 메시지에는 ERROR: 접두사가 붙습니다. 이는 run이 성공적으로 완료되지 않을 수 있는 문제를 나타냅니다.
ERROR Unable to save notebook session history.
ERROR Failed to save notebook.

콘솔 로그 설정

코드에서 wandb.Settings 객체를 wandb.init()에 전달해 W&B가 콘솔 로그를 처리하는 방식을 설정합니다. wandb.Settings에서는 다음 매개변수를 설정해 콘솔 로그 동작을 제어할 수 있습니다.
  • show_errors: True로 설정하면 오류 메시지가 W&B App에 표시됩니다. False로 설정하면 오류 메시지가 표시되지 않습니다.
  • silent: True로 설정하면 모든 W&B 콘솔 출력이 억제됩니다. 콘솔 출력을 최소화하려는 프로덕션 환경에서 유용합니다.
  • show_warnings: True로 설정하면 경고 메시지가 W&B App에 표시됩니다. False로 설정하면 경고 메시지가 표시되지 않습니다.
  • show_info: True로 설정하면 정보 메시지가 W&B App에 표시됩니다. False로 설정하면 정보 메시지가 표시되지 않습니다.
다음 예제는 이러한 설정을 구성하는 방법을 보여줍니다:
import wandb

settings = wandb.Settings(
    show_errors=True,  # W&B App에 오류 메시지 표시
    silent=False,      # 모든 W&B 콘솔 출력 비활성화
    show_warnings=True # W&B App에 경고 메시지 표시
)

with wandb.init(settings=settings) as run:
    # 트레이닝 코드를 여기에 작성하세요
    run.log({"accuracy": 0.95})

맞춤형 로깅

W&B는 애플리케이션의 콘솔 로그를 캡처하지만, 사용자의 로깅 설정에는 영향을 주지 않습니다. Python의 기본 제공 print() 함수나 logging 모듈을 사용해 메시지를 기록할 수 있습니다.
import wandb

with wandb.init(project="my-project") as run:
    for i in range(100, 1000, 100):
        # W&B에 로그를 기록하고 콘솔에 출력합니다
        run.log({"epoch": i, "loss": 0.1 * i})
        print(f"epoch: {i} loss: {0.1 * i}")
콘솔 로그는 다음과 비슷한 형태로 표시됩니다:
1 epoch:  100 loss: 1.3191105127334595
2 epoch:  200 loss: 0.8664389848709106
3 epoch:  300 loss: 0.6157898902893066
4 epoch:  400 loss: 0.4961796700954437
5 epoch:  500 loss: 0.42592573165893555
6 epoch:  600 loss: 0.3771176040172577
7 epoch:  700 loss: 0.3393910825252533
8 epoch:  800 loss: 0.3082585036754608
9 epoch:  900 loss: 0.28154927492141724

타임스탬프

각 콘솔 로그 항목에는 타임스탬프가 자동으로 추가됩니다. 이를 통해 각 로그 메시지가 언제 생성되었는지 추적할 수 있습니다. 콘솔 로그에서 타임스탬프 표시를 켜거나 끌 수 있습니다. 콘솔 페이지의 왼쪽 상단에서 Timestamp visible 드롭다운을 선택하세요. 타임스탬프를 표시하거나 숨길 수 있습니다.

콘솔 로그 검색

콘솔 로그 페이지 상단의 검색창을 사용해 키워드로 로그를 필터링하세요. 특정 용어, 라벨 또는 오류 메시지를 검색할 수 있습니다.

맞춤형 레이블로 필터링

x_ 접두사가 붙은 매개변수(x_label 등)는 공개 프리뷰 상태입니다. 피드백을 보내려면 W&B 저장소에 GitHub 이슈를 생성하세요.
콘솔 로그 페이지 상단의 UI 검색창에서 wandb.Settingsx_label 인수로 전달한 레이블을 기준으로 콘솔 로그를 필터링할 수 있습니다.
import wandb

# 기본 노드에서 run 초기화
with wandb.init(
    entity="entity",
    project="project",
    settings=wandb.Settings(
        x_label="custom_label"  # (선택) 로그 필터링을 위한 맞춤형 레이블
    )
) as run:
    # 여기에 코드 작성

콘솔 로그 다운로드

W&B App에서 run의 콘솔 로그를 다운로드합니다.
  1. W&B App에서 프로젝트로 이동합니다.
  2. Runs 테이블에서 run을 선택합니다.
  3. 프로젝트 사이드바에서 Logs 탭을 클릭합니다.
  4. 콘솔 로그 페이지 오른쪽 상단의 다운로드 버튼을 클릭합니다.

콘솔 로그 복사

W&B App에서 run의 콘솔 로그를 복사하려면 다음과 같이 하세요:
  1. W&B App에서 프로젝트로 이동합니다.
  2. Runs 테이블에서 run을 선택합니다.
  3. 프로젝트 사이드바에서 Logs 탭을 클릭합니다.
  4. 콘솔 로그 페이지 오른쪽 상단에 있는 복사 버튼을 클릭합니다.