메인 콘텐츠로 건너뛰기
노트북을 벗어나지 않고 Jupyter에서 W&B를 사용해 대화형 시각화를 얻으세요. 사용자 정의 분석, 실험, 프로토타입을 모두 하나로 결합하고, 이 모든 과정을 완전히 로깅하세요.

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

  1. 반복 실험: 실험을 실행하고 재실행하면서 파라미터를 조정하되, 진행한 모든 실행을 W&B에 자동으로 저장하여 별도로 수동 기록을 남길 필요가 없습니다.
  2. 코드 저장: 모델을 재현할 때, 노트북에서 어떤 셀이 어떤 순서로 실행되었는지 알기 어렵습니다. 각 실험에 대한 셀 실행 기록을 저장하려면 설정 페이지에서 코드 저장을 켭니다.
  3. 맞춤형 분석: 실행이 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로 새 셀을 시작하십시오. 이 셀을 여러 번 실행하면 데이터가 해당 실행에 계속 누적됩니다.
%%wandb

# 여기에 학습 루프를 작성하세요
예제 노트북을 직접 실행해 보세요.
Jupyter W&B 위젯

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

%wandb 매직 명령을 사용하면 기존의 대시보드, 스윕, 리포트를 노트북에서 바로 표시할 수 있습니다.
# 프로젝트 워크스페이스 표시
%wandb USERNAME/PROJECT
# 단일 실행 표시
%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() 호출로 끝내 인라인 그래프를 표시할 수 있으며, 또는 W&B API가 반환하는 리포트, 스윕, 실행 객체에 대해 ipython.display(...)를 호출할 수도 있습니다.
import wandb
from IPython.display import display
# 실행 초기화
run = wandb.init()

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

W&B의 추가 Jupyter 기능

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

run = wandb.init()

# 훈련 스크립트 및 로깅 코드를 여기에 작성하세요

run.finish()