메인 콘텐츠로 건너뛰기
GitHub 소스
W&B Report 및 Workspace API는 현재 퍼블릭 프리뷰 단계입니다.
프로그램에서 W&B Workspace API를 사용하기 위한 Python 라이브러리입니다.
# 가져오기 방법
import wandb_workspaces.workspaces as ws

# 워크스페이스 생성 예시
ws.Workspace(
     name="Example W&B Workspace",
     entity="entity", # 워크스페이스를 소유하는 entity
     project="project", # 워크스페이스와 연결된 프로젝트
     sections=[
         ws.Section(
             name="Validation Metrics",
             panels=[
                 wr.LinePlot(x="Step", y=["val_loss"]),
                 wr.BarPlot(metrics=["val_accuracy"]),
                 wr.ScalarChart(metric="f1_score", groupby_aggfunc="mean"),
             ],
             is_open=True,
         ),
     ],
)
workspace.save()

class RunSettings

runset 내 run에 대한 설정(왼쪽 사이드바). 속성:
  • color (str): UI에서 run의 색상입니다. hex(#ff0000), CSS 색상(red), 또는 rgb(rgb(255, 0, 0)) 형식일 수 있습니다.
  • disabled (bool): run이 비활성화되었는지 여부입니다(UI에서 눈 아이콘이 닫힌 상태). 기본값은 False입니다.

class RunsetSettings

워크스페이스에서 runset(runs가 포함된 왼쪽 막대)에 대한 설정입니다. Attributes:
  • query (str): runset을 필터링하기 위한 쿼리(정규식 표현식일 수 있으며, 다음 매개변수를 참고).
  • regex_query (bool): 위의 query가 정규식 표현식인지 여부를 제어합니다. 기본값은 False입니다.
  • filters (Union[str, LList[expr.FilterExpr]]): runset에 적용할 필터 목록 또는 문자열 표현식입니다.
    • 리스트인 경우: 필터는 AND 조건으로 결합됩니다. 필터 생성 방법에 대한 자세한 내용은 FilterExpr를 참조하세요.
    • 문자열인 경우: Python과 유사한 표현식을 사용합니다. 예: “Config(‘lr’) = 0.001 and State = ‘finished’”
  • Supports operators: =, ==, !=, <, >, <=, >=, in, not in 연산자를 지원합니다.
  • groupby (LList[expr.MetricType]): runset에서 그룹화할 메트릭 목록입니다. Metric, Summary, Config, Tags, 또는 KeysInfo로 설정합니다.
  • order (LList[expr.Ordering]): runset에 적용할 메트릭 및 정렬 기준 목록입니다.
  • run_settings (Dict[str, RunSettings]): run 설정의 사전으로, 키는 run의 ID이고 값은 RunSettings 객체입니다.
  • pinned_columns (LList[str]): 고정할 열 이름 목록입니다.
  • Column names use format: 열 이름은 “run:displayName”, “summary:metric”, “config:param” 형식을 사용합니다.
  • run: displayName은 존재하지 않을 경우 자동으로 추가됩니다.
  • Example: [“summary:accuracy”, “summary:loss”]
Example:
    # 문자열 필터 사용 (신규)
    RunsetSettings(
        filters="Config('learning_rate') = 0.001 and State = 'finished'",
        pinned_columns=["summary:accuracy", "summary:loss"],
    )

    # FilterExpr 목록 사용 (기존 방식)
    RunsetSettings(
        filters=[expr.Config("learning_rate") == 0.001],
        pinned_columns=["summary:accuracy", "summary:loss"],
    )

메서드 convert_filterexpr_list_to_string

convert_filterexpr_list_to_string()
FilterExpr 목록을 문자열 표현(통합된 내부 형식)으로 변환합니다.

메서드 validate_and_setup_columns

validate_and_setup_columns()
run:displayName이 존재하는지 확인하고 내부 열 필드를 설정합니다.

class Section

워크스페이스의 섹션을 나타냅니다. Attributes:
  • name (str): 섹션의 이름/제목입니다.
  • panels (LList[PanelTypes]): 섹션에 포함된 패널들의 순서가 있는 목록입니다. 기본적으로 첫 번째 패널은 좌상단에, 마지막 패널은 우하단에 배치됩니다.
  • is_open (bool): 섹션이 열려 있는지 닫혀 있는지 여부입니다. 기본값은 닫힘입니다.
  • pinned (bool): 섹션이 고정되어 있는지 여부입니다. 고정된 섹션은 워크스페이스 상단에 표시됩니다. 기본값은 False입니다.
  • layout_settings (SectionLayoutSettings): 섹션 내 패널 레이아웃에 대한 설정입니다.
  • panel_settings: 섹션 내 모든 패널에 적용되는 패널 수준 설정으로, Section에 대한 WorkspaceSettings와 유사한 역할을 합니다.

class SectionLayoutSettings

섹션에 대한 패널 레이아웃 설정으로, 일반적으로 W&B App Workspace UI의 해당 섹션 오른쪽 상단에 표시됩니다. 속성:
  • columns (int): 레이아웃의 열 개수입니다. 기본값은 3입니다.
  • rows (int): 레이아웃의 행 개수입니다. 기본값은 2입니다.

class SectionPanelSettings

섹션에 대한 패널 설정으로, 섹션에 대한 WorkspaceSettings와 유사합니다. 여기에서 설정한 값은 더 세분화된 패널 설정에 의해 다음과 같은 우선순위로 덮어쓰일 수 있습니다: Section < Panel. 속성:
  • x_axis (str): X축 메트릭 이름 설정. 기본값은 “Step”입니다.
  • x_min Optional[float]: x축의 최소값.
  • x_max Optional[float]: x축의 최대값.
  • smoothing_type (Literal[‘exponentialTimeWeighted’, ‘exponential’, ‘gaussian’, ‘average’, ‘none’]): 모든 패널에 적용되는 스무딩 유형.
  • smoothing_weight (int): 모든 패널에 적용되는 스무딩 가중치.

class Workspace

W&B 워크스페이스를 나타내며, 섹션, 설정, run 세트에 대한 구성(config)을 포함합니다. 속성:
  • entity (str): 이 워크스페이스가 저장될 엔티티(보통 사용자 또는 팀 이름)입니다.
  • project (str): 이 워크스페이스가 저장될 프로젝트입니다.
  • name: 워크스페이스의 이름입니다.
  • sections (LList[Section]): 워크스페이스에 포함된 섹션들의 순서 있는 리스트입니다. 첫 번째 섹션이 워크스페이스 맨 위에 위치합니다.
  • settings (WorkspaceSettings): 워크스페이스에 대한 설정으로, 일반적으로 UI에서 워크스페이스 상단에 표시됩니다.
  • runset_settings (RunsetSettings): 워크스페이스에서 runset(왼쪽에 runs를 포함하는 막대)에 대한 설정입니다.
  • auto_generate_panels (bool): 이 프로젝트에 로깅된 모든 키에 대해 패널을 자동으로 생성할지 여부입니다. 사용 가능한 모든 데이터를 기본값으로 시각화하고 싶다면 사용하는 것을 권장합니다. 이는 워크스페이스 생성 시에만 설정할 수 있으며, 이후에는 수정할 수 없습니다.

property auto_generate_panels


property url

W&B 앱의 워크스페이스 URL입니다.

classmethod from_url

from_url(url: str)
URL에서 워크스페이스를 가져옵니다.

메서드 save

save()
현재 Workspace를 W&B에 저장합니다. 반환:
  • Workspace: 내부 이름과 ID가 저장된 업데이트된 Workspace입니다.

method save_as_new_view

save_as_new_view()
현재 워크스페이스를 새로운 뷰로 W&B에 저장합니다. 반환값:
  • Workspace: 내부 이름과 ID가 저장된 업데이트된 워크스페이스.

class WorkspaceSettings

워크스페이스에 대한 설정으로, 일반적으로 UI의 워크스페이스 상단에서 볼 수 있습니다. 이 객체에는 x축, 스무딩, 이상치, 패널, 툴팁, runs, 패널 쿼리 바에 대한 설정이 포함됩니다. 여기에서 적용한 설정은 더 세부적인 Section 및 Panel 설정에 의해 다음 우선순위로 재정의될 수 있습니다: Workspace < Section < Panel Attributes:
  • x_axis (str): x축 메트릭 이름 설정.
  • x_min (Optional[float]): x축의 최소값.
  • x_max (Optional[float]): x축의 최대값.
  • smoothing_type (Literal[‘exponentialTimeWeighted’, ‘exponential’, ‘gaussian’, ‘average’, ‘none’]): 모든 패널에 적용되는 스무딩 타입.
  • smoothing_weight (int): 모든 패널에 적용되는 스무딩 가중치.
  • ignore_outliers (bool): 모든 패널에서 이상치를 무시할지 여부.
  • sort_panels_alphabetically (bool): 모든 섹션의 패널을 알파벳 순으로 정렬할지 여부.
  • group_by_prefix (Literal[“first”, “last”]): 패널을 첫 번째 또는 마지막 prefix 기준으로 그룹화합니다. 기본값은 last입니다.
  • remove_legends_from_panels (bool): 모든 패널에서 범례를 제거할지 여부.
  • tooltip_number_of_runs (Literal[“default”, “all”, “none”]): 툴팁에 표시할 runs의 개수.
  • tooltip_color_run_names (bool): 툴팁에서 run 이름을 runset과 일치하도록 색상을 입힐지(True) 여부. 기본값은 True입니다.
  • max_runs (int): 패널당 표시할 최대 runs 수(해당 runset의 처음 10개 runs가 됩니다).
  • point_visualization_method (Literal[“line”, “point”, “line_point”]): 포인트 시각화 방식.
  • panel_search_query (str): 패널 검색 바에 사용할 쿼리(정규식일 수 있음).
  • auto_expand_panel_search_results (bool): 패널 검색 결과를 자동으로 펼칠지 여부.