WandB
WandB
Weight & Biases(wandb)는 머신러닝/딥러닝 실험을 추적하고 시각화하는 도구
✔️ 회원가입
- Email, Full Name, Company or Institution, Professional/Academic을 입력하고 가입
- 회원가입을 하면 API key가 발급 됨
Your API key for logging in to the wandb library
:API_KEY
API_KEY
를 복사해 둘 것
설치
pip install wandb
✔️ 로그인
import wandb
# wandb.login() # 브라우저에서 로그인 페이지가 열립니다
wandb.login(key="API_KEY") # API_KEY를 입력하면 로그인이 자동으로 됩니다
기본 사용법
wandb.init(
project="my-first-project", # 프로젝트 이름
name="experiment-1", # 실험 이름
config={ # 하이퍼파라미터 설정
"learning_rate": 0.001,
"epochs": 100,
"batch_size": 32
}
)
✔️ 학습 과정 로깅
for epoch in range(100):
# 학습 코드...
# 메트릭 로깅
wandb.log({
"loss": training_loss,
"accuracy": training_accuracy,
"val_loss": validation_loss,
"val_accuracy": validation_accuracy
})
웹 대시보드 확인하기
- wandb.ai 웹사이트 접속
- 해당 프로젝트로 이동
- Overview 탭에서 기본 메트릭 그래프 확인
실전 예제: PyTorch와 함께 사용하기
import torch
import wandb
wandb.login(key="API_KEY")
# 1. wandb 초기화
wandb.init(project="mnist-example")
# ...
# 2. 모델 학습 루프
for epoch in range(num_epochs):
model.train()
for batch_idx, (data, target) in enumerate(train_loader):
optimizer.zero_grad()
output = model(data)
loss = criterion(output, target)
loss.backward()
optimizer.step()
# 3. 학습 중간 결과 로깅
wandb.log({
"batch_loss": loss.item(),
"epoch": epoch,
"batch": batch_idx
})
# 4. 에폭 단위 평가 결과 로깅
val_loss, val_acc = evaluate(model, val_loader)
wandb.log({
"epoch": epoch,
"val_loss": val_loss,
"val_accuracy": val_acc
})
# 5. 실험 종료
wandb.finish()
해시태그: #WandB #logging #웹 대시보드 #PyTorch 예시