이 문서는 MC-Planner에 통합된 Weights & Biases (WandB) 메트릭 모니터링 기능의 사용법을 설명합니다.
- wandb.ai에서 계정을 생성합니다.
- API 키를 획득합니다: https://wandb.ai/settings
- 터미널에서 로그인합니다:
wandb login
.env.example 파일을 .env로 복사하고 설정을 수정합니다:
cp .env.example .env
# .env 파일을 편집하여 API 키와 프로젝트 설정을 입력configs/wandb.yaml 파일에서 WandB 설정을 수정할 수 있습니다:
wandb:
enabled: true
project: "your-project-name"
experiment_name: "experiment-v1"
tags: ["minecraft", "vlm", "planning"]
log_images: true
log_frequency: 10python main.pypython main.py single_task=true task_name=obtain_wooden_pickaxepython main.py wandb.enabled=falseWANDB_MODE=offline python main.pyepisode/step: 현재 스텝 번호episode/reward: 스텝별 리워드episode/cumulative_reward: 누적 리워드episode/inventory_size: 인벤토리 아이템 수action/*: 각 액션의 값inventory/*: 각 아이템의 개수location/*: 플레이어 위치 정보
episode/duration_seconds: 에피소드 지속 시간episode/total_steps: 총 스텝 수episode/total_reward: 총 리워드episode/success: 성공 여부episode/exploration_area: 탐험 영역episode/planning_time: 계획 수립 시간
task/success: 태스크 성공 여부task/completion_time: 완료 시간task/efficiency_score: 효율성 점수task/planning_iterations: 계획 반복 횟수
benchmark/overall_success_rate: 전체 성공률benchmark/average_completion_time: 평균 완료 시간benchmark/programmatic_success_rate: 프로그래매틱 태스크 성공률benchmark/creative_success_rate: 크리에이티브 태스크 성공률
환경의 RGB 관찰을 주기적으로 로깅합니다:
wandb:
log_images: true
log_frequency: 10 # 10스텝마다 이미지 로깅리워드, 스텝 수 등의 분포를 히스토그램으로 시각화합니다.
각 태스크의 상세 결과를 테이블로 정리합니다.
WandB 통합이 올바르게 작동하는지 테스트:
python test_wandb_integration.pywandb login --reloginWANDB_MODE=offline python main.pyWANDB_DISABLED=true python main.pywandb login --relogin
# 또는
export WANDB_API_KEY=your_api_keyWandB 대시보드에서 다음과 같은 정보를 확인할 수 있습니다:
- 실시간 메트릭: 학습 진행상황 실시간 모니터링
- 비교 분석: 여러 실험 간 성능 비교
- 하이퍼파라미터 추적: 설정값과 성능의 상관관계
- 미디어 로깅: 게임 스크린샷과 영상
- 시스템 모니터링: GPU/CPU 사용률, 메모리 사용량
wandb_integration.py의 WandBLogger 클래스를 수정하여 추가 메트릭을 로깅할 수 있습니다:
def log_custom_metrics(self, custom_data):
if not self.enabled:
return
wandb.log({
"custom/my_metric": custom_data["my_metric"],
"custom/another_metric": custom_data["another_metric"]
})실험을 더 잘 구성하기 위해 태그와 메타데이터를 활용합니다:
wandb:
tags: ["experiment-v2", "new-planner", "optimized"]
notes: "Testing new planning algorithm with improved efficiency"