메인 콘텐츠로 건너뛰기
W&B는 클라우드(standard) 또는 하나 이상의 머신에 걸친 로컬(local) 환경에서 sweep을 관리하기 위해 _Sweep Controller_를 사용합니다. run이 완료되면 sweep controller는 다음에 실행할 새 run에 대한 지침을 내립니다. 이 지침은 실제로 run을 수행하는 _agents_가 받아 실행합니다. 일반적인 W&B Sweep에서는 controller가 W&B server에서 실행됩니다. Agents는 _사용자_의 머신에서 실행됩니다. 다음 코드 스니펫은 CLI와 Jupyter Notebook 또는 Python script에서 sweep을 초기화하는 방법을 보여줍니다.
  1. sweep을 초기화하기 전에 YAML 파일 또는 스크립트의 중첩된 Python dictionary 객체에 sweep 설정이 정의되어 있는지 확인하세요. 자세한 내용은 sweep 설정 정의를 참조하세요.
  2. W&B Sweep과 W&B Run은 반드시 동일한 프로젝트에 있어야 합니다. 따라서 W&B를 초기화할 때 제공하는 이름(wandb.init())은 W&B Sweep을 초기화할 때 제공하는 프로젝트 이름(wandb.sweep())과 일치해야 합니다.
W&B SDK를 사용해 sweep을 초기화합니다. sweep 설정 dictionary를 sweep parameter에 전달하세요. 선택적으로 W&B Run의 출력이 저장될 프로젝트 이름을 프로젝트 parameter(project)로 지정할 수 있습니다. 프로젝트를 지정하지 않으면 run은 “Uncategorized” 프로젝트에 저장됩니다.
import wandb

# sweep 설정 예시
sweep_configuration = {
    "method": "random",
    "name": "sweep",
    "metric": {"goal": "maximize", "name": "val_acc"},
    "parameters": {
        "batch_size": {"values": [16, 32, 64]},
        "epochs": {"values": [5, 10, 15]},
        "lr": {"max": 0.1, "min": 0.0001},
    },
}

sweep_id = wandb.sweep(sweep=sweep_configuration, project="project-name")
wandb.sweep() 함수는 sweep ID를 반환합니다. sweep ID에는 entity 이름과 프로젝트 이름이 포함됩니다. sweep ID를 기록해 두세요.