메인 콘텐츠로 건너뛰기
W&B는 클라우드(standard)나 하나 이상의 머신에 걸친 로컬(local) 환경에서 sweep을 관리하기 위해 Sweep Controller 를 사용합니다. 하나의 실행이 완료되면 sweep 컨트롤러는 다음에 실행할 새 실행에 대한 지침 세트를 발행합니다. 이 지침은 실제로 실행을 수행하는 agent 가 가져가서 처리합니다. 일반적인 W&B Sweep에서 컨트롤러는 W&B 서버에 있고, agent는 사용자의 머신에서 동작합니다. 다음 코드 스니펫은 CLI와 Jupyter Notebook 또는 Python 스크립트 내에서 sweep을 초기화하는 방법을 보여줍니다.
  1. sweep을 초기화하기 전에, YAML 파일이거나 스크립트 내의 중첩된 Python 딕셔너리 객체 형태로 sweep 구성(configuration)을 정의했는지 확인하십시오. 자세한 내용은 Sweep 설정 정의를 참고하십시오.
  2. W&B Sweep과 W&B 실행은 모두 동일한 프로젝트에 있어야 합니다. 따라서 W&B를 초기화할 때 제공하는 프로젝트 이름(wandb.init())은 W&B Sweep을 초기화할 때 제공하는 프로젝트 이름(wandb.sweep())과 일치해야 합니다.
W&B SDK를 사용해 sweep을 초기화하십시오. sweep 구성 딕셔너리를 sweep 매개변수로 전달합니다. 선택적으로, W&B 실행의 출력이 저장될 프로젝트를 지정하기 위해 프로젝트 매개변수(project)에 프로젝트 이름을 제공할 수 있습니다. 프로젝트를 지정하지 않으면 실행은 “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에는 엔터티 이름과 프로젝트 이름이 포함됩니다. sweep ID를 기록해 두십시오.