WandbCallback 클래스를 사용해 fastai를 W&B와 통합할 수 있습니다. 자세한 내용은 예제가 포함된 대화형 문서를 확인하세요.
가입하고 API 키 만들기
더 간편하게 하려면 User Settings로 바로 이동해 API 키를 생성하세요. 새로 생성한 API 키는 즉시 복사해 비밀번호 관리자와 같은 안전한 위치에 저장하세요.
- 오른쪽 상단에 있는 사용자 프로필 아이콘을 클릭합니다.
- User Settings를 선택한 다음 API Keys 섹션으로 스크롤합니다.
wandb 라이브러리 설치 및 로그인
wandb 라이브러리를 설치하고 로그인하려면 다음 단계를 따르세요.
- 명령줄
- Python
- Python notebook
-
WANDB_API_KEY환경 변수를 API 키로 설정합니다. -
wandb라이브러리를 설치하고 로그인합니다.
learner 또는 fit 방법에 WandbCallback 추가하기
Fastai 버전 1을 사용하는 경우 Fastai v1 문서를 참고하세요.
WandbCallback 매개변수
WandbCallback은 다음 매개변수를 받습니다:
| Args | Description |
|---|---|
| log | 모델의 gradients, parameters, all 또는 None(기본값)을 로깅할지 여부입니다. loss 및 메트릭은 항상 로깅됩니다. |
| 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는 이를 자동으로 지원하므로, 별도 설정 없이 멀티 GPU 실험을 추적할 수 있습니다.
다음의 최소 예제를 살펴보세요:
- 스크립트
- Python notebook
메인 프로세스에서만 로깅하기
wandb가 프로세스마다 하나의 run을 생성합니다. 트레이닝이 끝나면 run이 두 개 생깁니다. 이 때문에 혼란스러울 수 있으므로, 메인 프로세스에서만 로그를 기록하고 싶을 수 있습니다. 이렇게 하려면 현재 어떤 프로세스에서 실행 중인지 직접 확인하고, 다른 모든 프로세스에서는 run을 생성하지 않도록(wandb.init를 호출하지 않도록) 해야 합니다.
- 스크립트
- Python notebook
예제
- Fastai 모델을 시각화하고 추적하며 비교하기: 문서화가 충실한 워크스루입니다.
- CamVid 이미지 분할: 이 인테그레이션의 사용 사례 예시입니다.