메인 콘텐츠로 건너뛰기
W&B는 클라우드(standard) 또는 하나 이상의 머신에서 로컬(local)로 스윕을 관리하기 위해 _Sweep Controller_를 사용합니다. 하나의 run이 완료되면 Sweep Controller는 실행할 새로운 run을 정의하는 새로운 지시 세트를 발행합니다. 이 지시는 실제로 run을 수행하는 _agent_들이 가져갑니다. 일반적인 W&B Sweep에서 controller는 W&B 서버에 존재하고, agent는 _사용자_의 머신에 존재합니다. 다음 코드 스니펫은 CLI, Jupyter Notebook 또는 Python 스크립트에서 스윕을 초기화하는 방법을 보여줍니다.
  1. 스윕을 초기화하기 전에 YAML 파일이거나 스크립트 내 중첩된 Python 사전 객체 형태로 스윕 설정을 정의했는지 확인하십시오. 자세한 내용은 스윕 설정 정의를 참조하십시오.
  2. W&B Sweep과 W&B Run은 반드시 동일한 프로젝트에 있어야 합니다. 따라서 W&B를 초기화할 때 제공하는 이름(wandb.init())은 W&B Sweep을 초기화할 때 제공하는 프로젝트 이름(wandb.sweep())과 일치해야 합니다.
W&B SDK를 사용해 스윕을 초기화하십시오. 스윕 설정 사전을 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를 따로 기록해 두십시오.