메인 콘텐츠로 건너뛰기
Jupyter와 함께 W&B를 사용하여 노트북을 벗어나지 않고도 대화형 시각화를 확인하세요. 커스텀 분석, 실험, 프로토타입을 결합하고 모든 과정을 빠짐없이 로그로 남길 수 있습니다.

Jupyter 노트북에서 W&B를 사용하는 유스 케이스

  1. 반복적인 실험: 실험을 실행하고 재실행하며 파라미터를 조정하세요. 별도의 수동 메모 없이도 수행한 모든 run이 W&B에 자동으로 저장됩니다.
  2. 코드 저장: 모델을 재현할 때 노트북의 어떤 셀이 어떤 순서로 실행되었는지 파악하기 어려울 수 있습니다. 설정 페이지에서 코드 저장을 활성화하여 각 실험에 대한 셀 실행 기록을 저장하세요.
  3. 커스텀 분석: run이 W&B에 로그되면 API를 통해 데이터프레임을 가져와 커스텀 분석을 수행하기 쉽습니다. 그 결과를 다시 W&B에 로그하여 저장하고 리포트로 공유할 수 있습니다.

노트북에서 시작하기

노트북 시작 부분에 다음 코드를 입력하여 W&B를 설치하고 계정을 연결하세요:
!pip install wandb -qqq
import wandb
wandb.login()
다음으로, 실험을 설정하고 하이퍼파라미터를 저장합니다:
wandb.init(
    project="jupyter-projo",
    config={
        "batch_size": 128,
        "learning_rate": 0.01,
        "dataset": "CIFAR-100",
    },
)
wandb.init() 을 실행한 후, 새 셀을 %%wandb 로 시작하면 노트북에서 실시간 그래프를 볼 수 있습니다. 이 셀을 여러 번 실행하면 데이터가 해당 run에 추가됩니다.
%%wandb

# 여기에 트레이닝 루프 작성
예제 노트북에서 직접 체험해 보세요.
Jupyter W&B widget

노트북에서 직접 실시간 W&B 인터페이스 렌더링하기

%wandb 매직 명령어를 사용하여 기존 대시보드, Sweeps 또는 Reports를 노트북에 직접 표시할 수도 있습니다:
# 프로젝트 워크스페이스 표시
%wandb USERNAME/PROJECT
# 단일 run 표시
%wandb USERNAME/PROJECT/runs/RUN_ID
# sweep 표시
%wandb USERNAME/PROJECT/sweeps/SWEEP_ID
# 리포트 표시
%wandb USERNAME/PROJECT/reports/REPORT_ID
# 임베디드 iframe의 높이 지정
%wandb USERNAME/PROJECT -h 2048
%%wandb 또는 %wandb 매직 명령어 대신, wandb.init() 실행 후 셀 끝에 wandb.Run.finish() 를 추가하여 인라인 그래프를 표시하거나, API에서 반환된 리포트, sweep 또는 run 오브젝트에 대해 ipython.display(...) 를 호출할 수 있습니다.
import wandb
from IPython.display import display
# run 초기화
run = wandb.init()

# 셀 출력 결과로 run.finish()가 호출되면 실시간 그래프를 볼 수 있습니다.
run.finish()
W&B로 무엇을 더 할 수 있는지 알고 싶으신가요? 데이터 및 미디어 로깅 가이드를 확인하거나, 선호하는 ML 툴킷과의 인테그레이션 방법을 알아보세요. 또는 레퍼런스 문서예제 레포지토리를 바로 살펴보실 수 있습니다.

W&B의 추가 Jupyter 기능

  1. Colab에서의 간편한 인증: Colab에서 wandb.init 을 처음 호출할 때, 브라우저에서 W&B에 로그인되어 있다면 런타임 인증이 자동으로 이루어집니다. run 페이지의 Overview 탭에서 해당 Colab으로 연결되는 링크를 확인할 수 있습니다.
  2. Jupyter Magic: 대시보드, Sweeps 및 Reports를 노트북에 직접 표시합니다. %wandb 매직 명령어는 프로젝트, Sweeps 또는 Reports의 경로를 인자로 받아 W&B 인터페이스를 노트북 내에 직접 렌더링합니다.
  3. docker 기반 Jupyter 실행: wandb docker --jupyter 를 호출하여 docker 컨테이너를 실행하고, 코드를 마운트하며, Jupyter 설치를 확인한 후 8888 포트에서 실행합니다.
  4. 자유로운 셀 실행 순서: 기본적으로 W&B는 다음번 wandb.init 이 호출될 때까지 기다렸다가 현재 run을 finished 로 표시합니다. 이를 통해 데이터 설정, 트레이닝, 테스트 등 여러 셀을 원하는 순서대로 실행하더라도 모두 동일한 run에 로그할 수 있습니다. 사용자 설정에서 코드 저장을 활성화하면 실행된 셀의 순서와 상태가 로그되어, 매우 비선형적인 파이프라인이라도 재현이 가능해집니다. Jupyter 노트북에서 수동으로 run을 완료하려면 run.finish 를 호출하세요.
import wandb

run = wandb.init()

# 트레이닝 스크립트 및 로그 코드가 여기에 들어갑니다.

run.finish()