> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Experiments 개요

> W&B Python SDK의 기본 클래스를 사용하여 실험을 추적하고 아티팩트를 관리하세요

이 클래스들은 머신러닝 실험 추적, 아티팩트 관리, SDK 동작 설정을 위한 핵심 구성 요소입니다. 이러한 기본 클래스를 사용하면 메트릭을 로깅하고, 모델 체크포인트를 저장하고, 데이터셋 버전을 관리하고, 실험 설정을 관리할 수 있습니다. 또한 완전한 재현성과 협업 기능도 함께 제공됩니다.

> ML 실험에서 이 클래스들을 사용하는 방법에 대한 자세한 내용은 [Experiments](/ko/products/wandb/ref/python/experiments) 및 [Artifacts](/ko/products/wandb/artifacts) 문서를 참조하세요.

<h2 id="core-classes">
  핵심 클래스
</h2>

| 클래스 | 설명 |
| - | - |
| [`Run`](/ko/products/wandb/ref/python/experiments/run) | W\&B가 로깅하는 기본 연산 단위로, 메트릭, 설정, 출력을 포함하는 하나의 ML 실험을 나타냅니다. |
| [`Artifact`](/ko/products/wandb/ref/python/experiments/artifact) | 데이터셋과 모델의 버전을 관리하는 유연하고 가벼운 구성 요소로, 자동 중복 제거와 리니지 추적을 지원합니다. |
| [`Settings`](/ko/products/wandb/ref/python/experiments/settings) | W\&B SDK의 설정을 관리하며, 로깅부터 API 상호 작용까지 SDK의 동작을 제어합니다. |

<h2 id="getting-started">
  시작하기
</h2>

<h3 id="track-an-experiment">
  실험 추적하기
</h3>

메트릭을 로깅하면서 머신러닝 실험을 생성하고 추적하는 방법은 다음과 같습니다:

```python theme={"system"}
import wandb

# 새 run 초기화
with wandb.init(project="my-experiments", config={"learning_rate": 0.001}) as run:
    # 설정에 액세스
    config = run.config
    
    # 트레이닝 중 메트릭 로깅
    for epoch in range(10):
        metrics = train_one_epoch()  # 직접 구현한 트레이닝 로직
        run.log({
            "loss": metrics["loss"],
            "accuracy": metrics["accuracy"],
            "epoch": epoch
        })
    
    # summary 메트릭 로깅
    run.summary["best_accuracy"] = max_accuracy
```

<h3 id="version-a-model-artifact">
  모델 아티팩트 버전 관리
</h3>

메타데이터를 포함하여 버전이 지정된 모델 아티팩트를 생성하고 로깅하세요:

```python theme={"system"}
import wandb

with wandb.init(project="my-models") as run:
    # 모델 트레이닝
    model = train_model()
    
    # 모델 아티팩트 생성
    model_artifact = wandb.Artifact(
        name="my-model",
        type="model",
        description="ResNet-50 trained on ImageNet subset",
        metadata={
            "architecture": "ResNet-50",
            "dataset": "ImageNet-1K",
            "accuracy": 0.95
        }
    )
    
    # 아티팩트에 모델 파일 추가
    model_artifact.add_file("model.pt")
    model_artifact.add_dir("model_configs/")
    
    # W&B에 아티팩트 로깅
    run.log_artifact(model_artifact)
```

<h3 id="configure-sdk-settings">
  SDK 설정하기
</h3>

요구 사항에 맞게 W\&B SDK 동작을 사용자 지정하세요.

```python theme={"system"}
import wandb

# 코드에서 직접 설정 지정
wandb.Settings(
    project="production-runs",
    entity="my-team",
    mode="offline",  # 오프라인으로 실행한 후 나중에 동기화
    save_code=True,   # 소스 코드 저장
    quiet=True        # 콘솔 출력 최소화
)

# 또는 환경 변수로 설정
# export WANDB_PROJECT=production-runs
# export WANDB_MODE=offline

# 맞춤형 설정으로 초기화
with wandb.init() as run:
    # 여기에 실험 코드 작성
    pass
```

<h3 id="link-artifacts-for-lineage-tracking">
  리니지 추적을 위한 아티팩트 연결
</h3>

데이터셋, 모델, 평가 간의 관계를 추적하세요.

```python theme={"system"}
import wandb

with wandb.init(project="ml-pipeline") as run:
    # 데이터셋 아티팩트 사용
    dataset = run.use_artifact("dataset:v1")
    dataset_dir = dataset.download()
    
    # 데이터셋으로 모델 트레이닝
    model = train_on_dataset(dataset_dir)
    
    # 데이터셋 리니지를 포함한 모델 아티팩트 생성
    model_artifact = wandb.Artifact(
        name="trained-model",
        type="model"
    )
    model_artifact.add_file("model.pt")
    
    # 로깅 시 리니지가 자동으로 추적됨
    run.log_artifact(model_artifact)
```


## Related topics

- [개요](/ko/products/wandb/track/log.md)
