메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt

Use this file to discover all available pages before exploring further.

W&B Weave, 생성형 AI 애플리케이션 개발을 위한 W&B의 도구 모음을 찾고 계신가요? Weave 문서를 참조하세요.
쿼리 패널을 사용해 데이터를 쿼리하고 대화형으로 시각화하세요. 쿼리 패널을 사용하면 워크스페이스나 report를 벗어나지 않고도 특정 Runs, 아티팩트, 테이블 및 기타 W&B 객체를 단일 뷰로 가져와 테이블이나 플롯으로 탐색할 수 있습니다. 이 페이지는 로깅된 W&B 데이터에 대해 즉석 쿼리를 작성하고 그 결과를 워크스페이스나 report 내에 표시하려는 사용자를 위한 페이지입니다. 쿼리 패널은 세 가지 요소로 구성됩니다:
  • 표현식: 선택한 데이터입니다.
  • 설정: 패널 유형과 톱니바퀴 메뉴의 옵션 같은 패널의 선택 설정입니다.
  • 결과 패널: 테이블이나 플롯 등으로 결과를 표시하는 방식입니다.
사용해 볼 수 있는 대화형 예시는 공개 Query panel examples report를 참조하세요. 쿼리 구문에 대한 안내형 워크스루는 Query panel tutorial report를 참조하세요. 생성된 유형과 Ops는 query 표현식 language overview에 나와 있습니다.
쿼리 패널

쿼리 패널 만들기

표현식을 작성하고 결과를 시각화할 수 있도록 쿼리 패널을 추가합니다. 프로젝트 워크스페이스 또는 Report 내에 추가할 수 있습니다.
  1. 프로젝트의 워크스페이스로 이동합니다.
  2. 오른쪽 상단에서 Add panel을 클릭합니다.
  3. 드롭다운 메뉴에서 Query panel을 선택합니다.

쿼리 컴포넌트

다음 섹션에서는 쿼리 패널을 구성하는 세 가지 요소, 즉 데이터를 선택하는 표현식, 패널의 동작을 제어하는 설정, 그리고 출력을 렌더링하는 결과 패널을 설명합니다.

표현식

run, 아티팩트, 모델, 테이블 등 W&B에 저장된 데이터를 쿼리하려면 쿼리 표현식을 사용하세요.

예시: 테이블 쿼리하기

W&B Table을 쿼리하는 경우를 가정해 보겠습니다. 트레이닝 코드에서 "cifar10_sample_table"이라는 테이블을 기록합니다:
import wandb
with wandb.init() as run:
  run.log({"cifar10_sample_table":[MY-TABLE]})
쿼리 패널에서는 다음을 사용해 테이블을 쿼리할 수 있습니다:
runs.summary["cifar10_sample_table"]
테이블 쿼리 표현식
이를 하나씩 살펴보면 다음과 같습니다.
  • runs는 쿼리 패널이 워크스페이스에 있을 때 쿼리 패널 표현식에 자동으로 주입되는 변수입니다. 이 변수의 값은 해당 워크스페이스에서 표시되는 run 목록입니다. run에서 사용할 수 있는 다양한 속성에 대한 자세한 내용은 다양한 속성 이해하기를 참조하세요.
  • summary는 run의 Summary 객체를 반환하는 op입니다. Ops는 매핑되므로, 이 op는 목록의 각 run에 적용되어 결과적으로 Summary 객체의 목록을 반환합니다.
  • ["cifar10_sample_table"]는 Pick op(대괄호로 표시됨)이며 키는 cifar10_sample_table입니다. Summary 객체는 딕셔너리나 맵처럼 동작하므로, 이 오퍼레이션은 각 Summary 객체에서 해당 필드를 선택합니다.

설정

패널 왼쪽 상단의 톱니바퀴 아이콘을 클릭해 쿼리 설정을 확장합니다. 이 설정을 통해 패널 유형과 결과 패널의 파라미터를 설정할 수 있습니다.
패널 설정 메뉴

패널 옵션

설정 메뉴에는 패널이 테이블 스타일 결과를 결합하거나 로드하는 방식을 변경하는 옵션이 포함될 수 있습니다. 정확한 레이블과 사용 가능 여부는 표현식과 패널 유형에 따라 달라집니다. 구체적인 설정 예시는 Query panel examples report를 참조하세요. Concat 호환되는 테이블 스타일 결과를 병합해 패널이 이를 보기 및 후속 오퍼레이션을 위한 단일 테이블로 처리하도록 하려면 설정에서 Concat을 사용하세요. 표현식 수준의 행 병합(예: 쿼리의 concatjoin)은 이 설정과는 별개입니다. 자세한 내용은 표현식에서 테이블 결합을 참조하세요. Paginate 테이블 결과가 한 번에 렌더링하기에는 너무 클 수 있을 때는 Paginate를 사용하세요. 페이지네이션은 행을 청크 단위로 로드해 패널의 응답성을 유지합니다. 이 옵션은 큰 행 목록을 반환하는 표현식과 함께 사용하세요. 페이지네이션과 잘 맞는 패턴은 Query panel examples report를 참조하세요.

결과 패널

쿼리 결과 패널은 선택한 쿼리 패널을 사용해 쿼리 표현식의 결과를 렌더링하고, 데이터를 대화형 형식으로 표시하도록 구성됩니다. 아래 이미지는 동일한 데이터를 테이블과 Plot으로 보여줍니다.
테이블 결과 패널
Plot 결과 패널

run 이력을 단계별로 살펴보기

runs 또는 runs.history로 만든 테이블과 플롯에서는 앱이 step 컨트롤(예: 슬라이더)을 표시할 수 있습니다. 이를 사용하면 로깅된 step 사이를 이동하면서 run 전반에 걸친 메트릭, 텍스트 또는 미디어를 확인할 수 있습니다. 표현식을 변경한 후에는 쿼리 패널의 설정을 편집하고 Render AsStepper로 변경하세요. 이 컨트롤은 _step 대신 다른 메트릭을 따르도록 설정할 수도 있으며, 이렇게 하는 편이 데이터 로깅 방식에 더 잘 맞을 수 있습니다. 예시 식은 쿼리 패널 examples report에서 확인하세요.

기본 오퍼레이션

쿼리 패널에 결과가 렌더링되면 행을 정렬, 필터링, 매핑 또는 그룹화하여 표시되는 내용을 더 세밀하게 조정할 수 있습니다. 다음은 쿼리 패널 내에서 수행할 수 있는 일반적인 오퍼레이션입니다.

정렬

열 옵션에서 정렬할 수 있습니다:
열 정렬 옵션

필터

쿼리에서 직접 필터링하거나 패널의 왼쪽 상단에 있는 필터 버튼을 사용할 수 있습니다.
쿼리 필터 구문
필터 버튼

Map

Map 오퍼레이션은 목록을 순회하면서 데이터의 각 요소에 함수를 적용합니다. 패널 쿼리로 직접 수행하거나 열 옵션에서 새 열을 삽입해 수행할 수 있습니다.
Map 오퍼레이션 쿼리
Map 열 삽입

Group by

쿼리나 열 옵션에서 group by를 사용할 수 있습니다.
쿼리로 그룹화
열 옵션에서 그룹화

표현식에서 테이블 결합하기

테이블의 행 목록을 쌓거나 병합해야 하는 경우, 표현식에서 concat, join 및 관련 ops를 사용하세요. 전체 예시는 Join에서 확인하세요. Panel optionsConcatPaginate 항목은 별도의 컨트롤로, UI에서 테이블 결과를 병합하고 로드하는 방식을 제어합니다.

조인

쿼리에서 테이블을 직접 조인할 수도 있습니다. 다음 쿼리 표현식을 살펴보겠습니다:
project("luis_team_test", "weave_example_queries").runs.summary["short_table_0"].table.rows.concat.join(\
project("luis_team_test", "weave_example_queries").runs.summary["short_table_1"].table.rows.concat,\
(row) => row["Label"],(row) => row["Label"], "Table1", "Table2",\
"false", "false")
테이블 조인 오퍼레이션
왼쪽 테이블은 다음과 같이 생성됩니다:
project("luis_team_test", "weave_example_queries").\
runs.summary["short_table_0"].table.rows.concat.join
오른쪽 테이블은 다음에서 생성됩니다:
project("luis_team_test", "weave_example_queries").\
runs.summary["short_table_1"].table.rows.concat
다음과 같습니다:
  • (row) => row["Label"]는 각 테이블의 selector로, 어떤 column을 기준으로 조인할지 결정합니다.
  • "Table1""Table2"는 조인 시 각 테이블의 name입니다.
  • truefalse는 왼쪽 및 오른쪽 내부/외부 조인 설정을 나타냅니다.

Runs 객체

쿼리 패널을 사용해 runs 객체에 액세스할 수 있습니다. Run 객체는 Experiments의 기록을 저장합니다. 자세한 내용은 runs 객체에 액세스하기에서 확인하세요. 간단히 살펴보면 runs 객체에서 다음을 사용할 수 있습니다:
  • summary: run 결과를 요약하는 정보를 담고 있는 딕셔너리입니다. summary에는 accuracy나 loss 같은 스칼라 값이나 큰 파일이 포함될 수 있습니다. 기본적으로 wandb.Run.log()는 로깅된 시계열의 마지막 값을 summary로 설정합니다. summary의 내용은 직접 설정할 수도 있습니다. summary를 run의 출력값이라고 생각하면 됩니다.
  • history: 모델이 트레이닝되는 동안 loss처럼 변하는 값을 저장하기 위한 딕셔너리 목록입니다. wandb.Run.log() 명령은 이 객체에 항목을 추가합니다.
  • config: 트레이닝 run의 하이퍼파라미터나 데이터셋 아티팩트를 생성하는 run의 전처리 방법처럼 run의 설정 정보를 담은 딕셔너리입니다. 이를 run의 입력값이라고 생각하면 됩니다.
Runs 객체 구조

아티팩트에 액세스

아티팩트는 W&B의 핵심 개념입니다. 아티팩트는 버전과 이름이 지정된 파일 및 디렉터리의 컬렉션입니다. 아티팩트를 사용해 모델 가중치, 데이터셋, 그 밖의 모든 파일이나 디렉터리를 추적하세요. W&B는 아티팩트를 저장하며, 이를 다운로드하거나 다른 run에서 사용할 수 있습니다. 자세한 내용과 예시는 아티팩트에 액세스하기를 참조하세요. 일반적으로 아티팩트는 project 객체에서 액세스합니다.
  • project.artifactVersion(): 프로젝트 내에서 지정한 이름과 버전에 해당하는 특정 아티팩트 버전을 반환합니다.
  • project.artifact(""): 프로젝트 내에서 지정한 이름에 해당하는 아티팩트를 반환합니다. 그런 다음 .versions를 사용해 이 아티팩트의 모든 버전 목록을 가져올 수 있습니다.
  • project.artifactType(): 프로젝트 내에서 지정한 이름에 해당하는 artifactType을 반환합니다. 그런 다음 .artifacts를 사용해 이 유형의 모든 아티팩트 목록을 가져올 수 있습니다.
  • project.artifactTypes: 프로젝트 아래의 모든 아티팩트 유형 목록을 반환합니다.
아티팩트 액세스 방법