WandbCallback 클래스를 사용하여 fastai를 W&B와 연동할 수 있습니다. 자세한 내용은 예제가 포함된 대화형 문서를 참고하세요.
가입 및 API key 생성
보다 간편하게 설정하려면 User Settings로 바로 이동해 API key를 생성하세요. 새로 생성된 API key는 즉시 복사하여 비밀번호 관리자와 같은 안전한 위치에 저장하세요.
- 오른쪽 상단에서 사용자 프로필 아이콘을 클릭합니다.
- User Settings를 선택한 다음, 아래로 스크롤하여 API Keys 섹션으로 이동합니다.
wandb 라이브러리를 설치하고 로그인하기
wandb 라이브러리를 설치하고 로그인하려면 다음 단계를 따르세요.
- Command Line
- Python
- Python notebook
-
WANDB_API_KEY환경 변수를 API key로 설정합니다. -
wandb라이브러리를 설치하고 로그인합니다.
learner 또는 fit 메서드에 WandbCallback 추가하기
fastai 1 버전을 사용하는 경우 fastai v1 문서를 참조하세요.
WandbCallback 인자
WandbCallback은 다음 인자들을 받습니다:
| Args | Description |
|---|---|
| log | 모델의 다음 항목을 로깅할지 여부: gradients, parameters, all 또는 None(기본값). 손실과 메트릭은 항상 로깅됩니다. |
| log_preds | 예측 샘플을 로깅할지 여부(기본값은 True). |
| log_preds_every_epoch | 예측을 각 에포크마다 로깅할지, 에포크가 끝났을 때만 로깅할지 여부(기본값은 False). |
| log_model | 모델을 로깅할지 여부(기본값은 False). 이 옵션을 사용하려면 SaveModelCallback도 필요합니다. |
| model_name | 저장할 file의 이름으로, SaveModelCallback 설정을 덮어씁니다. |
| log_dataset |
참고: “models” 하위 폴더는 항상 무시됩니다. |
| dataset_name | 로깅되는 데이터셋 이름(기본값은 folder name). |
| valid_dl | 예측 샘플에 사용할 아이템을 포함하는 DataLoaders(기본값은 learn.dls.valid에서 임의로 선택된 아이템). |
| n_preds | 로깅할 예측 개수(기본값은 36). |
| seed | 랜덤 샘플을 정의하는 데 사용됩니다. |
log_dataset(path, name=None, metadata={})log_model(path, name=None, metadata={})
분산 학습
fastai는 컨텍스트 매니저 distrib_ctx를 사용해 분산 학습을 지원합니다. W&B는 이를 자동으로 처리하여, Multi-GPU 실험을 별도 설정 없이 바로 추적할 수 있습니다.
다음 최소 예제를 살펴보세요:
- Script
- Python notebook
메인 프로세스에서만 로깅하기
wandb가 프로세스마다 하나의 실행을 시작합니다. 학습이 끝나면 실행이 두 개 생기게 됩니다. 이는 때때로 혼란스러울 수 있으며, 메인 프로세스에서만 로그를 남기고 싶을 수 있습니다. 이를 위해서는 현재 자신이 어떤 프로세스에서 실행 중인지 직접 감지하고, 나머지 프로세스들에서는 실행을 생성하지 않도록(wandb.init을 호출하지 않도록) 해야 합니다.
- Script
- Python notebook
예시
- Fastai 모델 시각화, 추적, 비교: 자세한 설명이 포함된 단계별 워크스루입니다.
- CamVid에서의 이미지 세그멘테이션: 이 통합의 대표적인 사용 사례입니다.