
작동 방식
- 데이터 로깅: 스크립트에서 설정과 요약 데이터를 로깅하세요.
- 차트 사용자 지정: GraphQL 쿼리로 로깅된 데이터를 가져오세요. 시각화 문법인 Vega로 쿼리 결과를 시각화하세요.
- 차트 로깅: 스크립트에서
wandb.plot_table()로 자체 프리셋을 호출하세요.

스크립트에서 차트 로깅하기
다음 섹션에서는 트레이닝 스크립트에서 차트를 직접 로깅하는 두 가지 방법을 설명합니다. 일반적인 시각화를 제공하는 기본 제공 차트 프리셋과 자체 Vega 사양을 재사용할 수 있는 맞춤형 프리셋입니다.내장 프리셋
W&B는 스크립트에서 직접 로깅할 수 있는 여러 기본 제공 차트 프리셋을 제공합니다. 여기에는 선형 플롯, 산점도, 막대 차트, 히스토그램, PR 곡선 및 ROC 곡선이 포함됩니다.- 선형 플롯
- 산점도
- 막대 차트
- 히스토그램
- PR 곡선
- ROC 곡선
wandb.plot.line()임의의 x축과 y축에 순서대로 연결된 점(x,y)의 목록인 맞춤형 선형 플롯을 로깅하세요.
맞춤형 프리셋
기본 제공 프리셋을 수정하거나 새 프리셋을 만든 다음 차트를 저장하세요. 차트 ID를 사용하여 스크립트에서 해당 맞춤형 프리셋으로 직접 데이터를 로깅하세요. 예시 Google Colab 노트북을 사용해 보세요.
데이터 로깅
맞춤형 차트를 시각화하기 전에 스크립트에서 차트 편집기가 쿼리할 수 있는 형식으로 기본 데이터를 로깅해야 합니다. 스크립트에서 다음 데이터 유형을 로깅하고 맞춤형 차트에서 사용할 수 있습니다:- 설정: 실험의 초기 설정(독립 변수)입니다. 트레이닝 시작 시
wandb.Run.config에 키로 로깅한 모든 명명된 필드가 포함됩니다. 예를 들어,wandb.Run.config.learning_rate = 0.0001입니다. - 요약: 트레이닝 중 로깅된 단일 값(결과 또는 종속 변수)입니다. 예를 들어,
wandb.Run.log({"val_acc" : 0.8})입니다.wandb.Run.log()를 통해 트레이닝 중 이 키에 여러 번 쓰면 요약은 해당 키의 최종 값으로 설정됩니다. - 이력: 로깅된 스칼라의 전체 시계열은
history필드를 통해 쿼리에 사용할 수 있습니다. - summaryTable: 여러 값의 목록을 로깅해야 하는 경우
wandb.Table()을 사용하여 해당 데이터를 저장한 다음 맞춤형 패널에서 쿼리하세요. - historyTable: 이력 데이터를 확인해야 하는 경우 맞춤형 차트 패널에서
historyTable을 쿼리하세요.wandb.Table()을 호출하거나 맞춤형 차트를 로깅할 때마다 해당 step의 이력에 새 table을 생성합니다.
맞춤형 table 로깅하기
wandb.Table()을 사용하여 데이터를 2차원 배열로 로깅하세요. 일반적으로 이 table의 각 행은 하나의 데이터 포인트를 나타내며, 각 열은 시각화하려는 각 데이터 포인트의 관련 필드나 차원을 나타냅니다. 맞춤형 패널을 설정할 때 wandb.Run.log()에 전달한 키 이름(다음 예시에서는 custom_data_table)을 통해 전체 table에 액세스할 수 있습니다. 개별 필드에는 열 이름(x, y, z)을 통해 액세스할 수 있습니다. 실험 중 여러 단계에서 table을 로깅할 수 있습니다. 각 table의 최대 크기는 10,000행입니다. 예시 Google Colab 노트북을 사용해 보세요.
차트 사용자 지정하기
데이터를 로깅한 후, W&B 앱에서 가져올 로깅된 값과 표시 방법을 선택하여 차트를 구축하세요. 새 맞춤형 차트를 추가하여 시작한 다음, 쿼리를 편집하여 표시된 run에서 데이터를 선택하세요. 쿼리는 GraphQL을 사용하여 run의 설정, 요약, 이력 필드에서 데이터를 가져옵니다. 설명을 바탕으로 맞춤형 차트를 만들도록 ARIA에 요청할 수도 있습니다. 프로젝트 Workspace에서 ARIA를 열고 원하는 차트를 설명하세요:GraphQL 쿼리 구축하기
맞춤형 차트 편집기는 프로젝트 Workspace나 보고서에서 선택한 run에 대해 GraphQL 쿼리를 실행합니다. 쿼리 편집기에서 필요한 필드를 추가하세요.config, summary, history, summaryTable, historyTable 중에서 선택할 수 있으므로 대부분의 경우 쿼리를 처음부터 작성할 필요가 없습니다.
쿼리의 각 소스는 서로 다른 로깅 데이터에 매핑됩니다:
- 설정은 run 설정 값(하이퍼파라미터 및 기타 설정)을 가져옵니다.
- 요약은 요약 값을 가져옵니다. 기본적으로
wandb.Run.log()로 로깅한 키의 요약에는 해당 키에 마지막으로 기록된 값이 저장됩니다. 다른 집계 방식을 사용하려면"min","max","mean","best","none"중 하나를 지정하여wandb.Run.define_metric(..., summary=...)을 호출하세요. 값을 직접 설정하려면wandb.Run.summary["key"] = value를 대입하세요. - 이력은 run 이력에서 스칼라 시계열을 가져옵니다(예: 각 step의
loss또는accuracy). 최종 숫자뿐 아니라 전체 곡선이 필요할 때는 이력을 사용하세요. - **
summaryTable**은 run 요약에서wandb.Table을 불러옵니다. 필요한 table이 run에 단일 스냅샷으로 저장되어 있을 때 사용하세요(예: 마지막에 한 번 로깅하는 혼동 행렬). - **
historyTable**은 run 이력에서wandb.Table을 불러옵니다.wandb.Run.log()로 table을 로깅할 때마다 해당 table이 포함된 새 step이 run 이력에 추가됩니다. table이 시간에 따라 변경되거나 맞춤형 차트 편집기에서 step 선택기를 활성화하려면 **historyTable**을 사용하세요(맞춤형 차트에 step 슬라이더를 표시하려면 어떻게 하나요? 참조).
summaryTable 및 **historyTable**의 경우 **tableKey**를 wandb.Table 내부의 열 이름이 아니라 wandb.Run.log() 내부에서 사용한 딕셔너리 키로 설정하세요.
다음 예시는 일반적인 사용 사례를 다룹니다:
- 각 step에서 로깅하는 table의 열을 시각화하려면(예: PR 곡선) **
historyTable**을 추가하고, **tableKey**를 로깅한 키(예:pr_curve)로 설정한 다음 Chart fields에서 table 열을 매핑하세요. 맞춤형 차트 튜토리얼을 참조하세요. - 요약에 저장된 table의 열을 시각화하려면(예: 합성 히스토그램의 클래스 점수) **
summaryTable**을 추가하고, **tableKey**를 해당 키로 설정하세요(튜토리얼에서는class_scores사용). 보너스: 합성 히스토그램을 참조하세요. - 트레이닝 단계에 따른 스칼라 메트릭을 시각화하려면 이력에서 메트릭을 추가하세요. 요약에서만 추가하면 차트에 run당 단일 값이 표시됩니다.
runSets_로 시작하며 선택한 쿼리 필드를 반영합니다. 이름을 직접 입력하는 대신 각 ${field:...} 자리 표시자 옆의 드롭다운에서 선택하세요.
열이 표시되지 않으면 선택한 run에 키가 있는지 확인하고, run 페이지를 열어 데이터가 어떻게 로깅되었는지 확인한 다음, summaryTable 또는 **historyTable**이 해당 로깅 방식과 일치하는지 확인하세요.
맞춤형 차트는 이 GraphQL 기반 패널 쿼리를 사용합니다. 쿼리 패널은 다른 표현식 언어를 사용하며 별도로 문서화되어 있습니다.

맞춤형 시각화
오른쪽 상단에서 Chart를 선택하여 기본 프리셋으로 시작하세요. 그런 다음 Chart fields를 선택하여 쿼리에서 가져오는 데이터를 차트의 해당 필드에 매핑하세요. 다음 이미지는 메트릭을 선택한 다음 막대 차트 필드에 매핑하는 방법을 보여줍니다.
Edit Vega
패널 상단의 Edit를 클릭하여 Vega 편집 모드로 들어갑니다. 여기에서 UI에 대화형 차트를 생성하는 Vega 사양을 정의할 수 있습니다. 차트의 모든 측면을 변경할 수 있습니다. 예를 들어 제목을 변경하거나 다른 색상 구성표를 선택하거나 곡선을 연결된 선 대신 점 시리즈로 표시할 수 있습니다. 또한 Vega 변환을 사용하여 값 배열을 히스토그램의 bin으로 그룹화하는 등 데이터 자체를 변경할 수도 있습니다. 패널 미리보기는 대화형으로 업데이트되므로 Vega 사양 또는 쿼리를 편집하면서 변경 사항의 효과를 바로 확인할 수 있습니다. 자세한 내용은 Vega 문서 및 튜토리얼을 참조하세요. 필드 레퍼런스 W&B에서 차트로 데이터를 가져오려면 Vega 사양의 원하는 위치에"${field:<field-name>}" 형식의 템플릿 문자열을 추가합니다. 그러면 오른쪽의 Chart fields 영역에 드롭다운이 생성되며, 이를 사용하여 쿼리 결과 열을 Vega에 매핑할 열을 선택할 수 있습니다.
필드의 기본값을 설정하려면 다음 구문을 사용합니다: "${field:<field-name>:<placeholder text>}"
차트 프리셋 저장
프리셋을 저장하여 패널과 프로젝트 전반에서 동일한 Vega 정의를 매번 다시 만들지 않고 재사용하세요. 모달 하단의 버튼으로 특정 시각화 패널에 변경 사항을 적용하세요. 또는 프로젝트의 다른 곳에서 재사용할 수 있도록 Vega 사양을 저장할 수 있습니다. 재사용 가능한 차트 정의를 저장하려면 Vega 편집기 상단의 Save as를 클릭하고 프리셋에 이름을 지정하세요.Reports and guides
다음 Reports는 실제 맞춤형 차트의 엔드투엔드 예시와 심층 탐색을 보여줍니다.- The W&B Machine Learning Visualization IDE
- Visualizing NLP Attention Based 모델
- Visualizing The Effect of Attention on 그라디언트 Flow
- arbitrary curves 로깅하기
일반적인 사용 사례
맞춤형 차트는 기본 패널로 원하는 내용을 표현할 수 없을 때 유용합니다. 예시:- 오차 막대가 있는 막대 그래프 맞춤 설정
- 맞춤형 x-y 좌표가 필요한 모델 검증 메트릭 표시(예: 정밀도-재현율 곡선)
- 서로 다른 두 모델이나 실험의 데이터 분포를 히스토그램으로 겹쳐 표시
- 트레이닝 중 여러 시점의 스냅샷을 통해 메트릭 변화 표시
- W&B에서 아직 사용할 수 없는 고유한 시각화를 만들고 다른 사용자와 공유




