class Api
W&B 서버에 쿼리를 보내는 데 사용됩니다.
Examples:
method Api.__init__
overrides:https://api.wandb.ai이외의 W&B 서버를 사용하는 경우base_url을 설정할 수 있습니다. 또한entity,project,run에 대한 기본값을 설정할 수 있습니다.timeout: API 요청에 대한 HTTP 타임아웃(초)입니다. 지정하지 않으면 기본 타임아웃이 사용됩니다.api_key: 인증에 사용할 API 키입니다. 제공되지 않으면 현재 환경 또는 설정의 API 키가 사용됩니다. 환경에 구성된 키가 없으면 API 키 입력을 요청하는 프롬프트가 표시됩니다.
property Api.client
클라이언트 오브젝트를 반환합니다. Returns:RetryingClient: 클라이언트 속성 값입니다.
property Api.default_entity
기본 W&B entity를 반환합니다. Returns:str | None: default_entity 속성 값입니다.
property Api.user_agent
W&B 공개 사용자 에이전트를 반환합니다. Returns:str: user_agent 속성 값입니다.
property Api.viewer
viewer 오브젝트를 반환합니다. Raises:ValueError: W&B에서 viewer 데이터를 가져올 수 없는 경우 발생합니다.requests.RequestException: graphql 요청 중 에러가 발생한 경우 발생합니다.
User: viewer 속성 값입니다.
method Api.artifact
name: Artifact의 이름입니다. Artifact의 이름은 최소한 Artifact가 로그된 프로젝트 이름, Artifact 이름, 그리고 Artifact의 버전 또는 에일리어스로 구성된 파일 경로와 유사합니다. 선택적으로 Artifact를 로그한 entity를 접두사로 추가하고 슬래시(/)를 붙일 수 있습니다. 이름에 entity가 지정되지 않으면 Run 또는 API 설정의 entity가 사용됩니다.type: 가져올 Artifact의 타입입니다.
Artifact 오브젝트를 반환합니다.
Raises:
ValueError: Artifact 이름이 지정되지 않은 경우 발생합니다.ValueError: Artifact 타입이 지정되었으나 가져온 Artifact의 타입과 일치하지 않는 경우 발생합니다.
이 메소드는 외부 사용 전용입니다. wandb 레포지토리 코드 내에서 api.artifact()를 호출하지 마세요.
method Api.artifact_collection
ArtifactCollection 오브젝트를 사용하여 해당 컬렉션 내의 특정 Artifact에 대한 정보 등을 검색할 수 있습니다.
Args:
type_name: 가져올 Artifact 컬렉션의 타입입니다.name: Artifact 컬렉션 이름입니다. 선택적으로 Artifact를 로그한 entity를 접두사로 추가하고 슬래시(/)를 붙일 수 있습니다.
ArtifactCollection 오브젝트를 반환합니다.
Examples:
다음 코드 조각에서 “type”, “entity”, “project”, “artifact_name”은 각각 컬렉션 타입, W&B entity, Artifact가 속한 프로젝트 이름, Artifact 이름에 대한 플레이스홀더입니다.
method Api.artifact_collection_exists
name: Artifact 컬렉션 이름입니다. 선택적으로 Artifact를 로그한 entity를 접두사로 추가하고 슬래시(/)를 붙일 수 있습니다. entity나 프로젝트가 지정되지 않은 경우, 오버라이드 파라미터가 있다면 거기서 유추합니다. 그렇지 않으면 entity는 사용자 설정에서 가져오고 프로젝트는 기본값인 “uncategorized”로 설정됩니다.type: Artifact 컬렉션의 타입입니다.
method Api.artifact_collections
project_name: 필터링할 프로젝트 이름입니다.type_name: 필터링할 Artifact 타입 이름입니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이를 변경할 이유는 없습니다.
ArtifactCollections 오브젝트를 반환합니다.
method Api.artifact_exists
name: Artifact 이름입니다. Artifact의 entity와 프로젝트를 접두사로 추가하세요. 콜론(:)과 함께 Artifact의 버전이나 에일리어스를 추가합니다. entity나 프로젝트가 지정되지 않은 경우, W&B는 오버라이드 파라미터가 채워져 있다면 이를 사용합니다. 그렇지 않으면 entity는 사용자 설정에서 가져오고 프로젝트는 “Uncategorized”로 설정됩니다.type: Artifact의 타입입니다.
method Api.artifact_type
ArtifactType을 반환합니다.
Args:
type_name: 가져올 Artifact 타입 이름입니다.project: 주어진 경우, 필터링할 프로젝트 이름 또는 경로입니다.
ArtifactType 오브젝트를 반환합니다.
method Api.artifact_types
project: 필터링할 프로젝트 이름 또는 경로입니다.
ArtifactTypes 오브젝트를 반환합니다.
method Api.artifact_versions
Api.artifacts(type_name, name) 메소드를 사용하세요.
method Api.artifacts
Artifacts 컬렉션을 반환합니다.
Args:
type_name: 가져올 Artifact의 타입입니다. name: Artifact 컬렉션 이름입니다. 선택적으로 Artifact를 로그한 entity를 접두사로 추가하고 슬래시(/)를 붙일 수 있습니다. per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이를 변경할 이유는 없습니다. tags: 이 태그들을 모두 포함하는 Artifact만 반환합니다.
Returns:
반복 가능한 Artifacts 오브젝트를 반환합니다.
Examples:
다음 코드 조각에서 “type”, “entity”, “project”, “artifact_name”은 각각 Artifact 타입, W&B entity, Artifact가 로그된 프로젝트 이름, Artifact 이름에 대한 플레이스홀더입니다.
method Api.automation
name: 가져올 Automation의 이름입니다.entity: Automation을 가져올 entity입니다.
ValueError: 검색 기준과 일치하는 Automation이 없거나 여러 개인 경우 발생합니다.
method Api.automations
entity: Automation을 가져올 entity입니다.name: 가져올 Automation의 이름입니다.per_page: 페이지당 가져올 Automation 수입니다. 기본값은 50입니다. 일반적으로 이를 변경할 이유는 없습니다.
method Api.create_automation
name: Automation 이름.description: Automation 설명.enabled: Automation 활성화 여부.scope: Automation 범위.event: Automation을 트리거하는 이벤트.action: Automation에 의해 트리거되는 액션.
method Api.create_custom_chart
entity: 차트를 소유한 entity(사용자 또는 팀)name: 차트 프리셋의 유니크한 식별자display_name: UI에 표시되는 읽기 쉬운 이름spec_type: 사양 타입. Vega-Lite v2 사양의 경우 “vega2”여야 합니다.access: 차트 엑세스 레벨:- “private”: 생성한 entity만 차트에 엑세스 가능
- “public”: 공개적으로 엑세스 가능
spec: 사전 또는 JSON 문자열 형태의 Vega/Vega-Lite 사양
wandb.Error: 차트 생성 실패 시 발생합니다.UnsupportedError: 서버가 커스텀 차트를 지원하지 않을 때 발생합니다.
method Api.create_project
name: 새 프로젝트 이름.entity: 새 프로젝트의 entity.
method Api.create_registry
name: 레지스트리 이름. 이름은 조직 내에서 유일해야 합니다.visibility: 레지스트리의 가시성.organization: 조직의 모든 사용자가 이 레지스트리를 볼 수 있습니다. 나중에 UI 설정에서 역할을 편집할 수 있습니다.restricted: UI를 통해 초대된 멤버만 이 레지스트리에 엑세스할 수 있습니다. 공개 공유는 비활성화됩니다.organization: 레지스트리의 조직. 설정에 조직이 지정되지 않은 경우, 해당 entity가 하나의 조직에만 속해 있다면 entity에서 조직 정보를 가져옵니다.description: 레지스트리에 대한 설명.artifact_types: 레지스트리에서 허용하는 Artifact 타입들입니다. 타입은 128자를 초과할 수 없으며/또는:문자를 포함할 수 없습니다. 지정하지 않으면 모든 타입이 허용됩니다. 레지스트리에 추가된 허용 타입은 나중에 삭제할 수 없습니다.
method Api.create_run
run_id: Run에 할당할 ID입니다. 지정하지 않으면 W&B가 랜덤 ID를 생성합니다.project: Run을 로그할 프로젝트입니다. 지정하지 않으면 “Uncategorized”라는 프로젝트에 로그됩니다.entity: 프로젝트를 소유한 entity입니다. 지정하지 않으면 기본 entity에 로그됩니다.
Run을 반환합니다.
method Api.create_run_queue
name: 생성할 대기열 이름type: 대기열에 사용할 리소스 타입. “local-container”, “local-process”, “kubernetes”, “sagemaker”, 또는 “gcp-vertex” 중 하나입니다.entity: 대기열을 생성할 entity 이름.None인 경우 구성된 또는 기본 entity를 사용합니다.prioritization_mode: 사용할 우선순위 지정 버전. “V0” 또는None.config: 대기열에 사용할 기본 리소스 설정입니다. 템플릿 변수를 지정하려면 핸들바(예:{{var}})를 사용하세요.template_variables: 설정과 함께 사용할 템플릿 변수 스키마의 사전입니다.
RunQueue를 반환합니다.
Raises:
파라미터가 유효하지 않으면 ValueError가 발생하고, wandb API 에러 시 wandb.Error가 발생합니다.
method Api.create_team
team: 팀 이름admin_username: 팀 관리자의 사용자 이름입니다. 기본값은 현재 사용자입니다.
Team 오브젝트를 반환합니다.
method Api.create_user
email: 사용자의 이메일 주소.admin: 사용자를 글로벌 인스턴스 관리자로 설정합니다.
User 오브젝트를 반환합니다.
method Api.delete_automation
obj: 삭제할 Automation 또는 그 ID.
method Api.flush
api.flush()를 호출하여 로컬 캐시를 지우고 Run과 관련된 최신 값을 가져와야 합니다.
method Api.from_path
path: Project, Run, Sweep 또는 Report에 대한 경로
Project, Run, Sweep, 또는 BetaReport 인스턴스를 반환합니다.
Raises:
경로가 유효하지 않거나 오브젝트가 존재하지 않으면 wandb.Error를 발생시킵니다.
Examples:
다음 코드 조각에서 “project”, “team”, “run_id”, “sweep_id”, “report_name”은 각각 프로젝트, 팀, Run ID, Sweep ID, 특정 리포트 이름에 대한 플레이스홀더입니다.
method Api.integrations
entity: 인테그레이션을 가져올 entity(예: 팀 이름). 제공되지 않으면 사용자의 기본 entity가 사용됩니다.per_page: 페이지당 가져올 인테그레이션 수입니다. 기본값은 50입니다. 일반적으로 이를 변경할 이유는 없습니다.
Iterator[SlackIntegration | WebhookIntegration]: 지원되는 모든 인테그레이션의 iterator입니다.
method Api.job
Job 오브젝트를 반환합니다.
Args:
name: Job의 이름.path: Job Artifact를 다운로드할 루트 경로.
Job 오브젝트를 반환합니다.
method Api.list_jobs
entity: Job이 나열될 entity.project: Job이 나열될 프로젝트.
method Api.project
Project를 반환합니다.
Args:
name: 프로젝트 이름.entity: 요청된 entity 이름. None인 경우Api에 전달된 기본 entity를 사용합니다. 기본 entity가 없으면ValueError를 발생시킵니다.
Project 오브젝트를 반환합니다.
method Api.projects
entity: 요청된 entity 이름. None인 경우Api에 전달된 기본 entity를 사용합니다. 기본 entity가 없으면ValueError를 발생시킵니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이를 변경할 이유는 없습니다.
Project 오브젝트들의 반복 가능한 컬렉션인 Projects 오브젝트를 반환합니다.
method Api.queued_run
entity/project/queue_id/run_queue_item_id 형식의 경로를 파싱합니다.
method Api.registries
Registry 오브젝트의 lazy iterator를 반환합니다.
iterator를 사용하여 조직의 레지스트리 전체에서 레지스트리, 컬렉션 또는 Artifact 버전을 검색하고 필터링합니다.
Args:
organization: (str, 선택사항) 가져올 레지스트리의 조직. 지정하지 않으면 사용자 설정에 지정된 조직을 사용합니다.filter: (dict, 선택사항) lazy 레지스트리 iterator의 각 오브젝트에 적용할 MongoDB 스타일 필터입니다. 레지스트리 필터링에 사용 가능한 필드는name,description,created_at,updated_at입니다. 컬렉션 필터링에 사용 가능한 필드는name,tag,description,created_at,updated_at입니다. 버전 필터링에 사용 가능한 필드는tag,alias,created_at,updated_at,metadata입니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다.
Registry 오브젝트의 lazy iterator를 반환합니다.
Examples:
이름에 “model”이 포함된 모든 레지스트리 찾기
method Api.registry
name: 레지스트리 이름.wandb-registry-접두사는 제외합니다.organization: 레지스트리의 조직. 설정에 조직이 지정되지 않은 경우, 해당 entity가 하나의 조직에만 속해 있다면 entity에서 조직 정보를 가져옵니다.
method Api.reports
wandb.Api.reports() API는 베타 버전이며 향후 릴리스에서 변경될 수 있습니다.
Args:
path: 리포트가 있는 프로젝트의 경로. 프로젝트를 생성한 entity를 접두사로 추가하고 슬래시(/)를 붙여 지정합니다.name: 요청된 리포트의 이름.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이를 변경할 이유는 없습니다.
BetaReport 오브젝트들의 반복 가능한 컬렉션인 Reports 오브젝트를 반환합니다.
Examples:
method Api.run
entity/project/run_id 형식의 경로를 파싱하여 단일 Run을 반환합니다.
Args:
path:entity/project/run_id형식의 Run 경로.api.entity가 설정되어 있으면project/run_id형식일 수 있고,api.project가 설정되어 있으면 그냥 run_id일 수 있습니다.
Run 오브젝트를 반환합니다.
method Api.run_queue
RunQueue를 반환합니다.
Run 대기열 생성 방법에 대한 자세한 내용은 Api.create_run_queue를 참조하세요.
method Api.runs
Run 오브젝트를 지연 반복(lazily iterate)하는 Runs 오브젝트를 반환합니다.
필터링 가능한 필드는 다음과 같습니다:
createdAt: Run이 생성된 타임스탬프 (ISO 8601 형식, 예: “2023-01-01T12:00:00Z”).displayName: Run의 사람이 읽을 수 있는 표시 이름 (예: “eager-fox-1”).duration: Run의 총 실행 시간(초).group: 관련 Run을 함께 구성하는 데 사용되는 그룹 이름.host: Run이 실행된 호스트 이름.jobType: 작업 타입 또는 Run의 목적.name: Run의 유니크한 식별자 (예: “a1b2cdef”).state: Run의 현재 상태.tags: Run과 관련된 태그.username: Run을 시작한 사용자의 이름.
config.experiment_name, summary_metrics.loss 등입니다.
더 복잡한 필터링을 위해서는 MongoDB 쿼리 연산자를 사용할 수 있습니다. 자세한 내용은 https://docs.mongodb.com/manual/reference/operator/query 를 참조하세요. 다음 연산자들이 지원됩니다:
$and$or$nor$eq$ne$gt$gte$lt$lte$in$nin$exists$regex
path: (str) 프로젝트 경로, “entity/project” 형식이어야 합니다.filters: (dict) MongoDB 쿼리 언어를 사용한 특정 Run에 대한 쿼리입니다. config.key, summary_metrics.key, state, entity, createdAt 등과 같은 Run 속성으로 필터링할 수 있습니다.예를 들어:{"config.experiment_name": "foo"}는 experiment name이 “foo”로 설정된 config 항목을 가진 Run을 찾습니다.order: (str) 정렬 기준은created_at,heartbeat_at,config.*.value, 또는summary_metrics.*가 될 수 있습니다. 앞에 +를 붙이면 오름차순(기본값), -를 붙이면 내림차순입니다. 기본 정렬은 run.created_at 기준 오래된 순서입니다.per_page: (int) 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다.include_sweeps: (bool) 결과에 Sweep Run을 포함할지 여부입니다.lazy: (bool) 더 빠른 성능을 위해 지연 로딩을 사용할지 여부입니다. True(기본값)인 경우 처음에 필수적인 Run 메타데이터만 로드됩니다. config, summaryMetrics, systemMetrics와 같은 무거운 필드는 엑세스할 때 온디맨드로 로드됩니다. 모든 데이터를 미리 가져오려면 False로 설정하세요.
Run 오브젝트들의 반복 가능한 컬렉션인 Runs 오브젝트를 반환합니다.
Examples:
method Api.slack_integrations
entity: 인테그레이션을 가져올 entity(예: 팀 이름). 제공되지 않으면 사용자의 기본 entity가 사용됩니다.per_page: 페이지당 가져올 인테그레이션 수입니다. 기본값은 50입니다. 일반적으로 이를 변경할 이유는 없습니다.
Iterator[SlackIntegration]: Slack 인테그레이션의 iterator입니다.
method Api.sweep
entity/project/sweep_id 형식의 경로를 파싱하여 Sweep을 반환합니다.
Args:
path: entity/project/sweep_id 형식의 Sweep 경로.api.entity가 설정되어 있으면 project/sweep_id 형식일 수 있고,api.project가 설정되어 있으면 그냥 sweep_id일 수 있습니다.
Sweep 오브젝트를 반환합니다.
method Api.sync_tensorboard
method Api.team
Team을 반환합니다.
Args:
team: 팀 이름.
Team 오브젝트를 반환합니다.
method Api.update_automation
obj: 업데이트할 Automation. 반드시 존재하는 Automation이어야 합니다. create_missing (bool): True인 경우, Automation이 존재하지 않으면 새로 생성합니다. **kwargs: 업데이트 전에 Automation에 할당할 추가 값들입니다. 제공된 경우 Automation에 이미 설정되어 있을 수 있는 값을 덮어씁니다:name: Automation 이름.description: Automation 설명.enabled: Automation 활성화 여부.scope: Automation 범위.event: Automation을 트리거하는 이벤트.action: Automation에 의해 트리거되는 액션.
method Api.upsert_run_queue
name: 생성할 대기열 이름entity: 대기열을 생성할 선택적 entity 이름.None인 경우 구성된 또는 기본 entity를 사용합니다.resource_config: 대기열에 사용할 선택적 기본 리소스 설정입니다. 템플릿 변수를 지정하려면 핸들바(예:{{var}})를 사용하세요.resource_type: 대기열에 사용할 리소스 타입. “local-container”, “local-process”, “kubernetes”, “sagemaker”, 또는 “gcp-vertex” 중 하나입니다.template_variables: 설정과 함께 사용될 템플릿 변수 스키마의 사전입니다.external_links: 대기열과 함께 사용될 외부 링크의 선택적 사전입니다.prioritization_mode: 사용할 선택적 우선순위 지정 버전. “V0” 또는 None.
RunQueue를 반환합니다.
Raises:
파라미터가 유효하지 않으면 ValueError가 발생하고, wandb API 에러 시 wandb.Error가 발생합니다.
method Api.user
api.viewer를 사용하세요.
Args:
username_or_email: 사용자의 사용자 이름 또는 이메일 주소.
User 오브젝트를 반환하거나 사용자를 찾지 못하면 None을 반환합니다.
method Api.users
api.viewer를 사용하세요.
Args:
username_or_email: 찾고자 하는 사용자의 접두사 또는 접미사.
User 오브젝트 배열을 반환합니다.
method Api.webhook_integrations
entity: 인테그레이션을 가져올 entity(예: 팀 이름). 제공되지 않으면 사용자의 기본 entity가 사용됩니다.per_page: 페이지당 가져올 인테그레이션 수입니다. 기본값은 50입니다. 일반적으로 이를 변경할 이유는 없습니다.
Iterator[WebhookIntegration]: 웹훅 인테그레이션의 iterator입니다.