Tutorial: Define, initialize, and run a sweep
2 minute read
이 페이지에서는 스윕을 정의하고 초기화하고 실행하는 방법을 보여줍니다. 주요 단계는 네 가지입니다.
다음 코드를 Jupyter Notebook 또는 Python 스크립트에 복사하여 붙여넣으세요.
# W&B Python 라이브러리를 임포트하고 W&B에 로그인합니다
import wandb
wandb.login()
# 1: objective/트레이닝 함수 정의
def objective(config):
score = config.x**3 + config.y
return score
def main():
wandb.init(project="my-first-sweep")
score = objective(wandb.config)
wandb.log({"score": score})
# 2: 검색 공간 정의
sweep_configuration = {
"method": "random",
"metric": {"goal": "minimize", "name": "score"},
"parameters": {
"x": {"max": 0.1, "min": 0.01},
"y": {"values": [1, 3, 7]},
},
}
# 3: 스윕 시작
sweep_id = wandb.sweep(sweep=sweep_configuration, project="my-first-sweep")
wandb.agent(sweep_id, function=main, count=10)
다음 섹션에서는 코드 샘플의 각 단계를 분석하고 설명합니다.
트레이닝 코드 설정
wandb.config
에서 하이퍼파라미터 값을 가져와 모델을 트레이닝하고 메트릭을 반환하는 트레이닝 함수를 정의합니다.
선택적으로 W&B Run의 출력을 저장할 프로젝트 이름을 제공합니다(wandb.init
의 project 파라미터). 프로젝트가 지정되지 않은 경우 run은 “Uncategorized” 프로젝트에 배치됩니다.
# 1: objective/트레이닝 함수 정의
def objective(config):
score = config.x**3 + config.y
return score
def main():
wandb.init(project="my-first-sweep")
score = objective(wandb.config)
wandb.log({"score": score})
스윕 구성으로 검색 공간 정의
사전에서 스윕할 하이퍼파라미터를 지정합니다. 구성 옵션은 스윕 구성 정의을 참조하세요.
다음 예제는 랜덤 검색('method':'random'
)을 사용하는 스윕 구성을 보여줍니다. 스윕은 배치 크기, 에포크 및 학습률에 대해 구성에 나열된 임의의 값 집합을 무작위로 선택합니다.
W&B는 metric
키에 “goal": "minimize"
가 연결되어 있을 때 지정된 메트릭을 최소화합니다. 이 경우 W&B는 메트릭 score
("name": "score"
)를 최소화하도록 최적화합니다.
# 2: 검색 공간 정의
sweep_configuration = {
"method": "random",
"metric": {"goal": "minimize", "name": "score"},
"parameters": {
"x": {"max": 0.1, "min": 0.01},
"y": {"values": [1, 3, 7]},
},
}
스윕 초기화
W&B는 클라우드(표준), 로컬(로컬)에서 하나 이상의 머신에서 스윕을 관리하기 위해 Sweep Controller 를 사용합니다. Sweep Controller에 대한 자세한 내용은 로컬에서 검색 및 중지 알고리즘을 참조하세요.
스윕을 초기화하면 스윕 식별 번호가 반환됩니다.
sweep_id = wandb.sweep(sweep=sweep_configuration, project="my-first-sweep")
스윕 초기화에 대한 자세한 내용은 스윕 초기화을 참조하세요.
스윕 시작
wandb.agent
API 호출을 사용하여 스윕을 시작합니다.
wandb.agent(sweep_id, function=main, count=10)
결과 시각화 (선택 사항)
프로젝트를 열어 W&B App 대시보드에서 실시간 결과를 확인하세요. 몇 번의 클릭만으로 평행 좌표 플롯, 파라미터 중요도 분석 및 기타와 같은 풍부한 인터랙티브 차트를 구성합니다.

결과 시각화 방법에 대한 자세한 내용은 스윕 결과 시각화를 참조하세요. 대시보드 예제는 샘플 Sweeps Project를 참조하세요.
에이전트 중지 (선택 사항)
터미널에서 Ctrl+C
를 눌러 현재 run을 중지합니다. 다시 누르면 에이전트가 종료됩니다.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.