메인 콘텐츠로 건너뛰기
노트북을 벗어날 필요 없이 Jupyter에서 W&B를 사용해 대화형 시각화를 확인하세요. 맞춤형 분석, 실험, 프로토타입을 결합하고, 이 모든 내용을 빠짐없이 로깅하세요.

Jupyter 노트북에서 W&B를 사용하는 활용 사례

  1. 반복적인 실험: 실험을 실행하고 다시 실행하면서 파라미터를 조정해도, 중간에 일일이 메모하지 않아도 수행한 모든 run이 자동으로 W&B에 저장됩니다.
  2. 코드 저장: 모델을 재현할 때는 노트북에서 어떤 셀이 어떤 순서로 실행됐는지 파악하기 어렵습니다. 각 실험의 셀 실행 기록을 저장하려면 Settings 페이지에서 코드 저장을 켜세요.
  3. 맞춤형 분석: run이 W&B에 로깅되면 API에서 데이터프레임을 쉽게 가져와 맞춤형 분석을 수행한 다음, 그 결과를 W&B에 로깅해 저장하고 Reports에서 공유할 수 있습니다.

노트북에서 시작하기

다음 코드를 추가해 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 위젯

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

%wandb 매직을 사용하면 기존 대시보드, 스윕 또는 Reports를 노트북에 직접 표시할 수도 있습니다:
# 프로젝트 Workspace 표시
%wandb USERNAME/PROJECT
# 단일 run 표시
%wandb USERNAME/PROJECT/runs/RUN_ID
# 스윕 표시
%wandb USERNAME/PROJECT/sweeps/SWEEP_ID
# Report 표시
%wandb USERNAME/PROJECT/reports/REPORT_ID
# 임베드된 iframe의 높이 지정
%wandb USERNAME/PROJECT -h 2048
%%wandb 또는 %wandb 매직 대신, wandb.init()를 실행한 뒤에는 어떤 셀이든 마지막에 wandb.Run.finish()를 추가해 인라인 그래프를 표시할 수 있으며, API가 반환한 Reports, 스윕 또는 run 객체에 ipython.display(...)를 호출할 수도 있습니다.
import wandb
from IPython.display import display
# run 초기화
run = wandb.init()

# 셀이 run.finish()를 출력하면 실시간 그래프가 표시됩니다
run.finish()
W&B로 할 수 있는 일을 더 알아보고 싶다면, 데이터와 미디어를 로깅하는 가이드를 확인하거나 자주 사용하는 ML 도구 키트와 W&B를 통합하는 방법을 살펴보세요. 또는 바로 레퍼런스 문서예시 저장소로 이동해도 됩니다.

W&B의 추가 Jupyter 기능

  1. Colab에서 간편하게 인증: Colab에서 wandb.init()를 처음 호출하면, 브라우저에서 현재 W&B에 로그인된 상태인 경우 런타임이 자동으로 인증됩니다. run 페이지의 Overview 탭에서 Colab 링크를 볼 수 있습니다.
  2. Jupyter 매직: 노트북에서 대시보드, 스윕, Reports를 직접 표시할 수 있습니다. %wandb 매직은 프로젝트, 스윕 또는 Reports의 경로를 받아 W&B 인터페이스를 노트북에 바로 표시합니다.
  3. 도커화된 Jupyter 실행: wandb docker --jupyter를 호출하면 도커 컨테이너를 시작하고, 그 안에 코드를 마운트하고, Jupyter가 설치되어 있도록 한 뒤, 포트 8888에서 실행합니다.
  4. 셀을 어떤 순서로 실행해도 안심: 기본적으로는 run을 finished로 표시하기 위해 다음에 wandb.init()가 호출될 때까지 기다립니다. 따라서 여러 셀(예: 하나는 데이터 설정, 하나는 트레이닝, 하나는 테스트)을 원하는 순서로 실행해도 모두 동일한 run에 로깅할 수 있습니다. User Settings에서 코드 저장을 켜면 실행된 셀도 실행 순서와 실행 당시 상태 그대로 함께 로깅되므로, 매우 비선형적인 파이프라인도 재현할 수 있습니다. Jupyter 노트북에서 run을 수동으로 완료 상태로 표시하려면 wandb.Run.finish()를 호출하세요.
import wandb

run = wandb.init()

# 트레이닝 스크립트 및 로깅 코드를 여기에 작성하세요

run.finish()