Skip to main content
WandbCallback 클래스를 사용해 fastai를 W&B와 통합하여 트레이닝 중에 실험을 추적하고, 메트릭을 로깅하며, 모델 성능을 시각화할 수 있습니다. 이 페이지에서는 인증을 설정하고, 트레이닝 루프에 callback을 추가하며, 단일 프로세스 및 분산 트레이닝 모두에 대한 로깅을 구성하는 방법을 설명합니다. 자세한 내용은 예시가 포함된 대화형 문서를 확인하세요.

가입하고 API 키 만들기

API 키는 사용 중인 머신을 W&B에 인증하는 데 사용됩니다. 사용자 프로필에서 API 키를 생성할 수 있습니다.
더 간편하게 하려면 User Settings로 이동해 API 키를 생성하세요. API 키는 즉시 복사해 비밀번호 관리자와 같은 안전한 위치에 저장하세요.
  1. 오른쪽 상단에 있는 사용자 프로필 아이콘을 클릭합니다.
  2. User Settings를 선택한 다음 API Keys 섹션으로 스크롤합니다.

wandb 라이브러리 설치 및 로그인

로컬에 wandb 라이브러리를 설치하고 로그인하려면 다음 단계를 따르세요.
  1. WANDB_API_KEY 환경 변수를 API 키로 설정합니다. <>로 묶인 값은 사용자 환경에 맞게 바꾸세요.
  2. wandb 라이브러리를 설치하고 로그인합니다.

learner 또는 fit 방법에 WandbCallback 추가하기

fastai 트레이닝 run을 W&B에 로깅하기 시작하려면, 단일 fit 호출에 또는 learner 자체에 WandbCallback을 추가하세요.
If you use version 1 of fastai, refer to the fastai v1 docs.

WandbCallback 인수

트레이닝 중 WandbCallback이 무엇을 로깅할지 제어하려면 다음 인수를 사용하세요. 맞춤형 워크플로의 경우 데이터셋과 모델을 수동으로 로깅할 수 있습니다.
  • log_dataset(path, name=None, metadata={})
  • log_model(path, name=None, metadata={})
참고: “models” 하위 폴더는 모두 무시됩니다.

분산 트레이닝

fastai는 컨텍스트 매니저 distrib_ctx를 사용해 분산 트레이닝을 지원합니다. W&B는 이를 자동으로 지원하므로, 별도 설정 없이 멀티 GPU 실험을 추적할 수 있습니다. 다음 섹션에서는 W&B를 분산 트레이닝과 통합하는 방법과 로깅을 메인 프로세스로만 제한하는 방법을 설명합니다. 다음의 최소 예제를 살펴보세요:
그런 다음 터미널에서 다음 명령을 실행합니다:
이 경우 이 머신에는 GPU가 2개 있습니다.

메인 프로세스에서만 로깅하기

이전 예시에서는 W&B가 프로세스마다 하나의 run을 생성합니다. 트레이닝이 끝나면 run이 두 개 생깁니다. 이 때문에 혼란스러울 수 있으므로, 메인 프로세스에서만 로깅하고 싶을 수 있습니다. 이렇게 하려면 현재 어떤 프로세스에서 실행 중인지 직접 확인하고, 다른 모든 프로세스에서는 run을 생성하지 않도록(wandb.init()를 호출하지 않도록) 해야 합니다.
터미널에서 다음을 실행합니다:

예시

fastai 인테그레이션의 엔드 투 엔드 데모는 다음 레퍼런스를 참조하세요: