Sweep

난 원래 독스를 읽지않고 그냥 해보는 사람이였다.
그러나 지난 프로젝트를 겪으며 ultralytics docs의 중요성을 뼈저리게 깨닫고
이번 sweep을 돌리면서 sweep 공식문서를 읽어보려고 한다..

지금까지 나와는 다르다.
Sweeps | Weights & Biases Documentation
문서를 읽어보겠습니다

이건 제가 어제 만들어둔 agent로 돌린 sweep입니다.

# sweep_config.yaml

program: train.py

method: bayes # 또는 'grid' 또는 'random'

metric:

name: val_f1_score # W&B에서 사용할 목표 메트릭

goal: maximize

  

parameters:

optimizer:

values: ["Adam", "AdamW"]

learning_rate:

min: 0.0001

max: 0.01

batch_size:

values: [4, 8, 16]

max_epoch:

values: [50, 100, 150]

save_interval:

value: 5 # 모델 저장 주기 (예: 매 5 에포크마다)

seed:

value: 4096 # 고정된 시드값 설정

data_dir:

value: /data/ephemeral/home/data # 기본 데이터 경로 설정

model_name:

values: "vgg16_bn-6c64b313" # 사용할 모델 선택 가능

dropout_rate:

min: 0.1

max: 0.5 # 드롭아웃 비율 범위 설정

weight_decay:

min: 0.0001

max: 0.01 # 가중치 감쇠 범위 설정

  

# 추가 기본 설정

early_stopping:

value: true # 학습 조기 종료 설정

early_stopping_patience:

value: 10 # 조기 종료 대기 에포크 수

  

augmentation:

values: ["basic", "strong", "none"] # 데이터 증강 방법 선택

  

scheduler:

values: ["StepLR", "CosineAnnealingLR"] # 학습률 스케줄러 선택 가능

  

log_interval:

value: 10 # 로그 출력 주기 설정

val_interval:

value: 1 # 검증 주기 (예: 매 에포크마다 검증 실행)

  

save_best_only:

value: true # 최상의 모델만 저장

  

use_gpu:

value: true # GPU 사용 여부 설정

  

project_name:

value: "cv-21" # 프로젝트 이름 설정

entity:

value: "codehyun17"

이건 저의 sweep yaml 파일입니다.

sweep 초기화와 agent시작

wandb sweep --project <propject-name> <path-to-config file>

초기화하는 코드입니다

wandb agent <sweep-ID>

sweep agent를 시작합니다.

코드 뜯어보기

wandb sweep --cancel cv-21/uncategorized/jhx56d1w