W&B Python SDK를 사용해 메트릭, 미디어 또는 맞춤형 객체의 딕셔너리를 step에 로깅하세요. W&B는 각 step에서 키-값 쌍을 수집하며,Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
wandb.Run.log()로 데이터를 로깅할 때마다 이를 하나의 통합 딕셔너리에 저장합니다. 스크립트에서 로깅된 데이터는 먼저 로컬 머신의 wandb 디렉터리에 저장된 다음, W&B 클라우드 또는 비공개 서버와 동기화됩니다.
키-값 쌍은 각 step에 동일한 값을 전달한 경우에만 하나의 통합 딕셔너리에 저장됩니다.
step에 서로 다른 값을 로깅하면 W&B는 수집된 모든 키와 값을 메모리에 기록합니다.wandb.Run.log()를 호출할 때마다 새로운 step이 생성됩니다. W&B는 차트와 패널을 만들 때 step을 기본 x축으로 사용합니다. 필요에 따라 맞춤형 x축을 만들어 사용할 수도 있고, 맞춤형 summary 메트릭을 캡처할 수도 있습니다. 자세한 내용은 로그 축 사용자 지정을 참조하세요.
자동으로 로깅되는 데이터
- 시스템 메트릭: CPU 및 GPU 사용량, 네트워크 등입니다. GPU 메트릭은
nvidia-smi로 수집합니다. - 명령줄: stdout과 stderr를 수집해 run 페이지의 로그 탭에 표시합니다.
- Git 커밋: 최신 Git 커밋을 수집하며, run 페이지의 Overview 탭에서 확인할 수 있습니다. 커밋되지 않은 변경 사항이 있으면
diff.patch파일도 함께 확인할 수 있습니다. - 의존성:
requirements.txt파일이 업로드되어 run 페이지의 파일 탭에 표시되며, run의wandb디렉터리에 저장한 파일도 함께 표시됩니다.
특정 W&B API calls에서 어떤 데이터가 로깅되나요?
- Datasets: 이미지나 기타 데이터셋 샘플이 W&B로 스트리밍되게 하려면 해당 항목을 명시적으로 로깅해야 합니다.
- Plots: 차트를 추적하려면
wandb.Run.log()와 함께wandb.plot()을 사용하세요. 자세한 내용은 Log Plots를 참조하세요. - Tables: W&B에서 시각화하고 쿼리할 데이터를 로깅하려면
wandb.Table을 사용하세요. 자세한 내용은 Log Tables를 참조하세요. - PyTorch gradients: UI에서 가중치의 그라디언트를 히스토그램으로 보려면
wandb.Run.watch(model)를 추가하세요. - Configuration information: 하이퍼파라미터, 데이터셋 링크 또는 사용 중인 아키텍처 이름을 설정 파라미터로 로깅할 수 있습니다. 다음과 같이 전달하세요:
wandb.init(config=your_config_dictionary). - Metrics: 모델의 메트릭을 보려면
wandb.Run.log()를 사용하세요. 트레이닝 루프 안에서 accuracy 및 loss 같은 메트릭을 로깅하면 UI에서 실시간으로 업데이트되는 그래프를 볼 수 있습니다.
메트릭 이름 지정 제약 사항
- 허용 문자: 영문자(A-Z, a-z), 숫자(0-9), 밑줄(_)
- 시작 문자: 이름은 영문자 또는 밑줄로 시작해야 합니다
- 패턴: 메트릭 이름은
/^[_a-zA-Z][_a-zA-Z0-9]*$/패턴과 일치해야 합니다
일반적인 워크플로
-
최고 정확도 비교: 여러 run에서 메트릭의 최고값을 비교하려면 해당 메트릭의 summary 값을 설정하세요. 기본적으로 summary는 각 키에 대해 마지막으로 로깅한 값으로 설정됩니다. 이는 UI의 테이블에서 특히 유용합니다. summary 메트릭을 기준으로 run을 정렬하고 필터링할 수 있어, 최종 정확도가 아니라 최고 정확도를 기준으로 테이블이나 막대 차트에서 run을 비교하는 데 도움이 되기 때문입니다. 예:
wandb.run.summary["best_accuracy"] = best_accuracy -
하나의 차트에서 여러 메트릭 보기: 같은 call에서 여러 메트릭을 로깅하세요. 예:
그러면 UI에서 두 메트릭을 모두 플로팅할 수 있습니다.
-
x-axis 사용자 지정: 동일한 log call에 맞춤형 x-axis를 추가해 W&B 대시보드에서 다른 축을 기준으로 메트릭을 시각화하세요. 예:
특정 메트릭의 기본 x-axis를 설정하려면 Run.define_metric()을 사용하세요.
-
리치 미디어와 차트 로깅:
wandb.Run.log()는 이미지와 비디오 같은 미디어부터 테이블과 차트까지 매우 다양한 데이터 유형의 로깅을 지원합니다.