메인 콘텐츠로 건너뛰기
W&B는 클라우드(standard) 또는 하나 이상의 머신을 가로지르는 로컬(local) 환경에서 Sweeps 를 관리하기 위해 Sweep Controller 를 사용합니다. run 이 완료되면, Sweep Controller 는 실행할 새로운 run 에 대한 새로운 지침 세트를 발행합니다. 이러한 지침은 실제로 run 을 수행하는 agent 에 의해 수신됩니다. 일반적인 W&B Sweep 에서 컨트롤러는 W&B 서버에 위치하며, 에이전트는 사용자 의 머신에 위치합니다. 다음 코드조각은 CLI 및 Jupyter 노트북 또는 Python 스크립트 내에서 Sweeps 를 초기화하는 방법을 보여줍니다.
  1. 스윕을 초기화하기 전에, YAML 파일이나 스크립트 내의 중첩된 Python 사전(dictionary) 오브젝트로 sweep configuration 이 정의되어 있는지 확인하세요. 자세한 내용은 Define sweep configuration을 참조하세요.
  2. W&B Sweep 과 W&B Run 은 반드시 동일한 프로젝트 내에 있어야 합니다. 따라서 W&B를 초기화할 때(wandb.init()) 제공하는 이름은 W&B Sweep 을 초기화할 때(wandb.sweep()) 제공하는 프로젝트의 이름과 일치해야 합니다.
W&B SDK를 사용하여 스윕을 초기화합니다. sweep configuration 사전을 sweep 파라미터에 전달하세요. 선택적으로 W&B Run 의 결과가 저장될 프로젝트 파라미터(project)에 프로젝트 이름을 제공할 수 있습니다. 프로젝트를 지정하지 않으면 run 은 “Uncategorized” 프로젝트에 저장됩니다.
import wandb

# 스윕 구성 예시
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() 함수는 스윕 ID를 반환합니다. 스윕 ID에는 엔티티 이름과 프로젝트 이름이 포함됩니다. 스윕 ID를 메모해 두세요.