> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-hivemind-launch.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 메트릭, 비디오, 맞춤형 플롯 등을 확인하세요

# 개요

W\&B Python SDK를 사용해 메트릭, 미디어 또는 맞춤형 객체의 딕셔너리를 step에 로깅하세요. W\&B는 각 step에서 키-값 쌍을 수집하며, `wandb.Run.log()`로 데이터를 로깅할 때마다 이를 하나의 통합 딕셔너리에 저장합니다. 스크립트에서 로깅된 데이터는 먼저 로컬 머신의 `wandb` 디렉터리에 저장된 다음, W\&B 클라우드 또는 [비공개 서버](/ko/platform/hosting/)와 동기화됩니다.

<Note>
  키-값 쌍은 각 step에 동일한 값을 전달한 경우에만 하나의 통합 딕셔너리에 저장됩니다. `step`에 서로 다른 값을 로깅하면 W\&B는 수집된 모든 키와 값을 메모리에 기록합니다.
</Note>

기본적으로 `wandb.Run.log()`를 호출할 때마다 새로운 `step`이 생성됩니다. W\&B는 차트와 패널을 만들 때 step을 기본 x축으로 사용합니다. 필요에 따라 맞춤형 x축을 만들어 사용할 수도 있고, 맞춤형 summary 메트릭을 캡처할 수도 있습니다. 자세한 내용은 [로그 축 사용자 지정](/ko/models/track/log/customize-logging-axes/)을 참조하세요.

{/* 코드의 여러 위치에서 동일한 이력 step에 로그하려면 다음과 같이 `run.log()`에 step 인덱스를 전달할 수 있습니다:

```python
run.log({'loss': 0.2}, step=step)
``` */}

<Warning>
  각 `step`에 대해 0, 1, 2와 같이 연속된 값을 기록하려면 `wandb.Run.log()`를 사용하세요. 특정 이력 step에 값을 쓰는 것은 불가능합니다. W\&B는 "현재" step과 "다음" step에만 씁니다.
</Warning>

<div id="automatically-logged-data">
  ## 자동으로 로깅되는 데이터
</div>

W\&B는 W\&B 실험 중에 다음 정보를 자동으로 로깅합니다.

* **시스템 메트릭**: CPU 및 GPU 사용량, 네트워크 등입니다. GPU 메트릭은 [`nvidia-smi`](https://developer.nvidia.com/nvidia-system-management-interface)로 수집합니다.
* **명령줄**: stdout과 stderr를 수집해 [run 페이지](/ko/models/runs/)의 로그 탭에 표시합니다.

계정의 [Settings 페이지](https://wandb.ai/settings)에서 [Code Saving](https://wandb.me/code-save-colab)을 켜면 다음 항목도 로깅됩니다.

* **Git 커밋**: 최신 Git 커밋을 수집하며, run 페이지의 Overview 탭에서 확인할 수 있습니다. 커밋되지 않은 변경 사항이 있으면 `diff.patch` 파일도 함께 확인할 수 있습니다.
* **의존성**: `requirements.txt` 파일이 업로드되어 run 페이지의 파일 탭에 표시되며, run의 `wandb` 디렉터리에 저장한 파일도 함께 표시됩니다.

<div id="what-data-is-logged-with-specific-wb-api-calls">
  ## 특정 W\&B API calls에서 어떤 데이터가 로깅되나요?
</div>

W\&B를 사용하면 로깅할 항목을 정확히 선택할 수 있습니다. 다음은 일반적으로 자주 로깅하는 객체입니다.

* **Datasets**: 이미지나 기타 데이터셋 샘플이 W\&B로 스트리밍되게 하려면 해당 항목을 명시적으로 로깅해야 합니다.
* **Plots**: 차트를 추적하려면 `wandb.Run.log()`와 함께 `wandb.plot()`을 사용하세요. 자세한 내용은 [Log Plots](/ko/models/track/log/plots/)를 참조하세요.
* **Tables**: W\&B에서 시각화하고 쿼리할 데이터를 로깅하려면 `wandb.Table`을 사용하세요. 자세한 내용은 [Log Tables](/ko/models/track/log/log-tables/)를 참조하세요.
* **PyTorch gradients**: UI에서 가중치의 그라디언트를 히스토그램으로 보려면 `wandb.Run.watch(model)`를 추가하세요.
* **Configuration information**: 하이퍼파라미터, 데이터셋 링크 또는 사용 중인 아키텍처 이름을 설정 파라미터로 로깅할 수 있습니다. 다음과 같이 전달하세요: `wandb.init(config=your_config_dictionary)`.
* **Metrics**: 모델의 메트릭을 보려면 `wandb.Run.log()`를 사용하세요. 트레이닝 루프 안에서 accuracy 및 loss 같은 메트릭을 로깅하면 UI에서 실시간으로 업데이트되는 그래프를 볼 수 있습니다.

<div id="metric-naming-constraints">
  ## 메트릭 이름 지정 제약 사항
</div>

GraphQL 제한으로 인해 W\&B의 메트릭 이름은 특정 명명 규칙을 따라야 합니다:

* **허용 문자**: 영문자(A-Z, a-z), 숫자(0-9), 밑줄(\_)
* **시작 문자**: 이름은 영문자 또는 밑줄로 시작해야 합니다
* **패턴**: 메트릭 이름은 `/^[_a-zA-Z][_a-zA-Z0-9]*$/` 패턴과 일치해야 합니다

<Warning>
  유효하지 않은 문자(예: 쉼표, 공백 또는 특수 기호)를 사용해 메트릭 이름을 지정하지 마세요. W\&B UI에서 정렬, 쿼리 또는 표시 시 문제가 발생할 수 있습니다.
</Warning>

**유효한 메트릭 이름:**

```python theme={null}
with wandb.init() as run:
  run.log({"accuracy": 0.9, "val_loss": 0.1, "epoch_5": 5})
  run.log({"modelAccuracy": 0.95, "learning_rate": 0.001})
```

**유효하지 않은 메트릭 이름(다음은 피하세요):**

```python theme={null}
with wandb.init() as run:
  run.log({"acc,val": 0.9})  # 쉼표 포함
  run.log({"loss-train": 0.1})  # 하이픈 포함
  run.log({"test acc": 0.95})  # 공백 포함
  run.log({"5_fold_cv": 0.8})  # 숫자로 시작
```

<div id="common-workflows">
  ## 일반적인 워크플로
</div>

1. **최고 정확도 비교**: 여러 run에서 메트릭의 최고값을 비교하려면 해당 메트릭의 summary 값을 설정하세요. 기본적으로 summary는 각 키에 대해 마지막으로 로깅한 값으로 설정됩니다. 이는 UI의 테이블에서 특히 유용합니다. summary 메트릭을 기준으로 run을 정렬하고 필터링할 수 있어, 최종 정확도가 아니라 *최고* 정확도를 기준으로 테이블이나 막대 차트에서 run을 비교하는 데 도움이 되기 때문입니다. 예: `wandb.run.summary["best_accuracy"] = best_accuracy`

2. **하나의 차트에서 여러 메트릭 보기**: 같은 call에서 여러 메트릭을 로깅하세요. 예:
   ```python theme={null}
   with wandb.init() as run:
     run.log({"acc": 0.9, "loss": 0.1})
   ```
   그러면 UI에서 두 메트릭을 모두 플로팅할 수 있습니다.

3. **x-axis 사용자 지정**: 동일한 log call에 맞춤형 x-axis를 추가해 W\&B 대시보드에서 다른 축을 기준으로 메트릭을 시각화하세요. 예:
   ```python theme={null}
   with wandb.init() as run:
     run.log({'acc': 0.9, 'epoch': 3, 'batch': 117})
   ```
   특정 메트릭의 기본 x-axis를 설정하려면 [Run.define\_metric()](/ko/models/ref/python/experiments/run#define_metric)을 사용하세요.

4. **리치 미디어와 차트 로깅**: `wandb.Run.log()`는 [이미지와 비디오 같은 미디어](/ko/models/track/log/media/)부터 [테이블](/ko/models/track/log/log-tables/)과 [차트](/ko/models/app/features/custom-charts/)까지 매우 다양한 데이터 유형의 로깅을 지원합니다.

<div id="best-practices-and-tips">
  ## 모범 사례 및 팁
</div>

Experiments 및 로깅의 모범 사례와 팁은 [모범 사례: Experiments 및 로깅](https://wandb.ai/wandb/pytorch-lightning-e2e/reports/W-B-Best-Practices-Guide--VmlldzozNTU1ODY1#w\&b-experiments-and-logging)을 참조하세요.
