class Api
W&B 서버에 쿼리를 보내는 데 사용합니다.
예제:
메서드 Api.__init__
overrides:base_url을 설정할 수 있습니다.using a W&B server other thanhttps: //api.wandb.ai. 또한entity,project,run의 기본값을 설정할 수 있습니다.timeout: API 요청에 대한 HTTP 타임아웃(초)입니다. 지정하지 않으면 기본 타임아웃이 사용됩니다.api_key: 인증에 사용할 API key입니다. 제공되지 않으면 현재 환경 또는 설정에 지정된 API key가 사용됩니다. 환경에 제공되거나 설정되지 않은 경우 API key 입력을 요청합니다.
property Api.client
클라이언트 객체를 반환합니다. Returns:RetryingClient: client 속성의 값입니다.
property Api.default_entity
기본 W&B 엔터티를 반환합니다. Returns:str | None: default_entity 프로퍼티 값입니다.
property Api.user_agent
W&B 공용 user agent를 반환합니다. Returns:str: user_agent 속성 값입니다.
property Api.viewer
viewer 객체를 반환합니다. Raises:ValueError: W&B에서 viewer 데이터를 가져올 수 없는 경우requests.RequestException: GraphQL 요청을 보내는 동안 오류가 발생한 경우
User: viewer 속성 값
메서드 Api.artifact
name: 아티팩트의 이름. 아티팩트 이름은 파일 경로와 비슷한 형태로, 최소한 아티팩트가 로깅된 프로젝트 이름, 아티팩트 이름, 그리고 아티팩트의 버전 또는 별칭으로 구성됩니다. 선택적으로, 아티팩트를 로깅한 엔터티를 접두사로 추가하고 그 뒤에 슬래시(/)를 붙일 수 있습니다. 이름에 엔터티가 지정되지 않으면 실행 또는 API 설정의 엔터티가 사용됩니다.type: 가져올 아티팩트의 유형.
Artifact 객체.
Raises:
ValueError: 아티팩트 이름이 지정되지 않은 경우.ValueError: 아티팩트 유형이 지정되었지만 가져온 아티팩트의 유형과 일치하지 않는 경우.
이 메서드는 외부 사용만을 위한 것입니다. wandb 리포지토리 코드 내에서는 api.artifact()를 호출하지 마십시오.
메서드 Api.artifact_collection
ArtifactCollection 객체를 사용하여 해당 컬렉션 내 특정 아티팩트에 대한 정보 등을 조회할 수 있습니다.
인자(Args):
type_name: 가져올 아티팩트 컬렉션의 타입.name: 아티팩트 컬렉션 이름. 선택적으로, 아티팩트를 로깅한 엔터티를 접두사로 두고 그 뒤에 슬래시(/)를 붙여서 사용할 수 있습니다.
ArtifactCollection 객체.
예시(Examples):
다음 코드 스니펫에서 “type”, “entity”, “project”, 그리고 “artifact_name” 은 각각 컬렉션 타입, 사용자의 W&B 엔터티, 아티팩트가 포함된 프로젝트 이름, 그리고 아티팩트 이름을 나타내는 자리표시자입니다.
method Api.artifact_collection_exists
name: 아티팩트 컬렉션 이름입니다. 선택적으로, 아티팩트를 로깅한 엔터티를 접두사로 추가하고 그 뒤에 슬래시(/)를 붙일 수 있습니다. 엔터티 또는 프로젝트가 지정되지 않은 경우, 존재한다면 override 매개변수에서 컬렉션을 유추합니다. 그렇지 않으면 엔터티는 사용자 설정에서 가져오고, 프로젝트는 기본값인 “uncategorized”로 설정됩니다.type: 아티팩트 컬렉션의 유형입니다.
메서드 Api.artifact_collections
project_name: 필터링에 사용할 프로젝트 이름입니다.type_name: 필터링에 사용할 아티팩트 타입 이름입니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이 값을 변경할 필요는 없습니다.
ArtifactCollections 객체를 반환합니다.
메서드 Api.artifact_exists
name: 아티팩트의 이름입니다. 앞에 아티팩트의 엔터티와 프로젝트를 접두사로 추가합니다. 콜론(:)을 사용해 아티팩트의 버전 또는 별칭을 뒤에 붙입니다. 엔터티나 프로젝트가 지정되지 않은 경우, 값이 설정되어 있다면 W&B에서 override 매개변수를 사용합니다. 그렇지 않으면 사용자 설정에서 엔터티를 가져오고, 프로젝트는 “Uncategorized”로 설정됩니다.type: 아티팩트의 유형입니다.
method Api.artifact_type
ArtifactType을 반환합니다.
인자:
type_name: 가져올 아티팩트 타입의 이름입니다.project: (선택 사항) 필터링에 사용할 프로젝트 이름 또는 경로입니다.
ArtifactType 객체를 반환합니다.
메서드 Api.artifact_types
project: 필터링에 사용할 프로젝트 이름 또는 경로입니다.
iterable) ArtifactTypes 객체입니다.
메서드 Api.artifact_versions
Api.artifacts(type_name, name) 메서드를 사용하세요.
메서드 Api.artifacts
Artifacts 컬렉션을 반환합니다.
Args:
type_name: 가져올 아티팩트의 유형입니다.name: 아티팩트 컬렉션 이름입니다. 선택적으로, 아티팩트를 로깅한 엔터티를 접두사로 추가한 뒤 슬래시(/)를 붙일 수 있습니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이 값을 변경할 필요는 없습니다.tags: 나열된 모든 태그를 가진 아티팩트만 반환합니다.
Artifacts 객체입니다.
Examples:
다음 코드 스니펫에서 “type”, “entity”, “project”, 그리고 “artifact_name”은 각각 아티팩트 유형, W&B 엔터티, 아티팩트가 로깅된 프로젝트 이름, 그리고 아티팩트 이름을 나타내는 플레이스홀더입니다.
method Api.automation
name: 가져올 Automation의 이름입니다.entity: Automation을 가져올 엔터티입니다.
ValueError: 검색 조건과 일치하는 Automation이 없거나 둘 이상인 경우 발생합니다.
메서드 Api.automations
entity: Automation을 가져올 엔터티.name: 가져올 Automation의 이름.per_page: 페이지당 가져올 Automation 개수. 기본값은 50입니다. 일반적으로 이 값을 변경할 필요는 없습니다.
method Api.create_automation
name: 자동화의 이름.description: 자동화의 설명.enabled: 자동화 활성화 여부.scope: 자동화의 범위.event: 자동화를 트리거하는 이벤트.action: 자동화에 의해 트리거되는 동작.
메서드 Api.create_custom_chart
entity: 차트를 소유하는 엔터티(사용자 또는 팀)name: 차트 프리셋의 고유 식별자display_name: UI에 표시되는 사람이 읽을 수 있는 이름spec_type: 사양의 유형. Vega-Lite v2 사양의 경우 반드시 “vega2”여야 합니다.access: 차트에 대한 접근 수준:- “private”: 차트는 이를 생성한 엔터티만 접근할 수 있음
- “public”: 차트를 누구나 접근할 수 있음
spec: 딕셔너리 또는 JSON 문자열 형태의 Vega/Vega-Lite 사양
wandb.Error: 차트 생성에 실패한 경우UnsupportedError: 서버가 사용자 지정 차트를 지원하지 않는 경우
메서드 Api.create_project
name: 새 프로젝트의 이름.entity: 새 프로젝트의 엔터티.
메서드 Api.create_registry
name: 레지스트리의 이름입니다. 조직 내에서 고유해야 합니다.visibility: 레지스트리의 공개 범위입니다.organization: 조직의 모든 사용자가 이 레지스트리를 볼 수 있습니다. 이후 UI의 설정에서 이들의 역할을 수정할 수 있습니다.restricted: UI를 통해 초대된 멤버만 이 레지스트리에 접근할 수 있습니다. 공개 공유는 비활성화됩니다.organization: 레지스트리가 속한 조직입니다. 설정에 조직이 지정되지 않은 경우, 엔터티가 하나의 조직에만 속해 있다면 해당 엔터티에서 조직 정보를 가져옵니다.description: 레지스트리에 대한 설명입니다.artifact_types: 레지스트리에서 허용되는 아티팩트 타입입니다. 타입은more than 128 characters and do not include characters/or ``:. If not specified, all types are accepted. Allowed types added to the registry cannot be removed later.: 128자를 넘을 수 없으며,/또는:` 문자를 포함할 수 없습니다. 지정하지 않으면 모든 타입이 허용됩니다. 한 번 레지스트리에 추가된 허용 타입은 이후 제거할 수 없습니다.
메서드 Api.create_run
run_id: 실행에 할당할 ID입니다. 지정하지 않으면 W&B가 임의의 ID를 생성합니다.project: 실행을 기록할 프로젝트입니다. 프로젝트를 지정하지 않으면 “Uncategorized” 프로젝트에 실행을 기록합니다.entity: 프로젝트를 소유한 엔터티입니다. 엔터티를 지정하지 않으면 기본 엔터티에 실행을 기록합니다.
Run.
method Api.create_run_queue
name: 생성할 큐의 이름type: 큐에 사용할 리소스 유형. “local-container”, “local-process”, “kubernetes”, “sagemaker”, “gcp-vertex” 중 하나.entity: 큐를 생성할 엔터티 이름.None이면, 설정된 엔터티 또는 기본 엔터티를 사용합니다.prioritization_mode: 사용할 우선순위 부여 방식의 버전. “V0” 또는None중 하나.config: 큐에 사용할 기본 리소스 구성. 템플릿 변수를 지정하려면 핸들바(예:{{var}})를 사용합니다.template_variables: config와 함께 사용할 템플릿 변수 스키마 딕셔너리.
RunQueue.
Raises:
매개변수가 유효하지 않으면 ValueError를 발생시키고, wandb API 오류가 발생하면 wandb.Error를 발생시킵니다.
메서드 Api.create_team
team: 팀 이름admin_username: 팀 관리자 사용자 이름. 기본값은 현재 사용자입니다.
Team 객체.
메서드 Api.create_user
email: 사용자의 이메일 주소입니다.admin: 사용자를 전역 인스턴스 관리자 권한으로 설정합니다.
User 객체를 반환합니다.
메서드 Api.delete_automation
obj: 삭제할 자동화 또는 해당 ID.
method Api.flush
api 객체는 실행에 대한 로컬 캐시를 유지합니다. 따라서 스크립트를 실행하는 동안 실행 상태가 변경될 수 있는 경우, 해당 실행과 연관된 최신 값을 가져오려면 api.flush()로 로컬 캐시를 비워야 합니다.
메서드 Api.from_path
path: 프로젝트, 실행, 스윕 또는 리포트의 경로
Project, Run, Sweep 또는 BetaReport 인스턴스.
Raises:
경로가 잘못되었거나 객체가 존재하지 않으면 wandb.Error가 발생합니다.
Examples:
다음 코드 스니펫에서 “project”, “team”, “run_id”, “sweep_id”, 그리고 “report_name”은 각각 프로젝트, 팀, 실행 ID, 스윕 ID 및 특정 리포트의 이름을 나타내는 플레이스홀더입니다.
메서드 Api.integrations
entity: 통합을 가져올 대상 엔터티(예: 팀 이름). 제공하지 않으면 사용자의 기본 엔터티가 사용됩니다.per_page: 페이지당 가져올 통합 개수. 기본값은 50입니다. 일반적으로 이 값을 변경할 필요는 없습니다.
Iterator[SlackIntegration | WebhookIntegration]: 지원되는 통합에 대한 이터레이터입니다.
메서드 Api.job
Job 객체를 반환합니다.
Args:
name: Job의 이름입니다.path: Job 아티팩트를 다운로드할 루트 경로입니다.
Job 객체입니다.
메서드 Api.list_jobs
entity: 나열할 작업이 속한 엔터티입니다.project: 나열할 작업이 속한 프로젝트입니다.
method Api.project
Project 를 반환합니다.
Args:
name: 프로젝트 이름.entity: 요청된 엔터티 이름.None이면Api에 전달된 기본 엔터티를 사용합니다. 기본 엔터티가 없으면ValueError를 발생시킵니다.
Project 객체를 반환합니다.
메서드 Api.projects
entity: 요청할 엔터티의 이름입니다.None인 경우Api에 전달된 기본 엔터티를 사용합니다. 기본 엔터티도 없으면ValueError를 발생시킵니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이 값을 변경할 필요는 없습니다.
Projects 객체를 반환하며, 이는 Project 객체들의 반복 가능한 컬렉션입니다.
메서드 Api.queued_run
entity/project/queue_id/run_queue_item_id 형태의 경로를 파싱합니다.
메서드 Api.registries
Registry 객체의 지연(lazy) 이터레이터를 반환합니다.
이 이터레이터를 사용해 조직의 레지스트리 전반에서 레지스트리, 컬렉션 또는 아티팩트 버전을 검색하고 필터링할 수 있습니다.
Args:
organization: (str, optional) 가져올 레지스트리가 속한 organization입니다. 지정하지 않으면 사용자 설정에 지정된 organization을 사용합니다.filter: (dict, optional) 지연 레지스트리 이터레이터의 각 객체에 적용할 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) 이터레이터.
Examples:
이름에 “model”이 포함된 모든 레지스트리를 찾습니다.
메서드 Api.registry
name: 레지스트리의 이름입니다.wandb-registry-접두사는 포함하지 않습니다.organization: 레지스트리가 속한 조직입니다. 설정에organization이 설정되어 있지 않으면, 엔터티가 하나의 조직에만 속해 있는 경우 해당 엔터티에서organization값을 가져옵니다.
메서드 Api.reports
wandb.Api.reports() API는 베타 버전이며 향후 릴리스에서 변경될 수 있습니다.
인자:
path: 리포트가 위치한 프로젝트의 경로입니다. 프로젝트를 생성한 엔터티를 접두사로 지정하고, 그 뒤에 슬래시(/)를 붙여 지정합니다.name: 요청된 리포트의 이름입니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이 값을 변경할 필요는 없습니다.
BetaReport 객체들의 이터러블 컬렉션인 Reports 객체를 반환합니다.
예시:
메서드 Api.run
entity/project/run_id 형식의 경로를 파싱하여 하나의 실행을 반환합니다.
Args:
path:entity/project/run_id형식의 실행 경로입니다.api.entity가 설정된 경우project/run_id형식으로 지정할 수 있고,api.project가 설정된 경우 run_id만 지정할 수 있습니다.
Run 객체.
메서드 Api.run_queue
RunQueue를 반환합니다.
run 큐를 생성하는 방법에 대한 자세한 내용은 Api.create_run_queue를 참조하세요.
메서드 Api.runs
Run 객체들을 지연 방식으로 순회하는 Runs 객체를 반환합니다.
필터링할 수 있는 필드는 다음과 같습니다:
createdAt: 실행이 생성된 시점의 타임스탬프입니다. (ISO 8601 형식, 예: “2023-01-01T12:00:00Z”)displayName: 사람이 읽을 수 있는 실행의 표시 이름입니다. (예: “eager-fox-1”)duration: 실행의 전체 실행 시간(초 단위)입니다.group: 관련 실행들을 함께 묶기 위해 사용하는 그룹 이름입니다.host: 실행이 수행된 호스트 이름입니다.jobType: 실행의 작업 유형 또는 목적입니다.name: 실행의 고유 식별자입니다. (예: “a1b2cdef”)state: 실행의 현재 상태입니다.tags: 실행과 연결된 태그입니다.username: 실행을 시작한 사용자의 사용자 이름입니다.
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 쿼리 언어를 사용하여 특정 실행들을 조회하는 필터입니다. config.key, summary_metrics.key, state, entity, createdAt 등 실행 속성으로 필터링할 수 있습니다.For example:{"config.experiment_name": "foo"}는 experiment name이 “foo”로 설정된 config 항목을 가진 실행들을 찾습니다.order: (str) 정렬 기준은created_at,heartbeat_at,config.*.value, 또는summary_metrics.*가 될 수 있습니다. order 앞에 +를 붙이면 오름차순(기본값), -를 붙이면 내림차순입니다. 기본 정렬 기준은 가장 오래된 것부터 최신까지의 run.created_at입니다.per_page: (int) 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다.include_sweeps: (bool) 결과에 sweep 실행을 포함할지 여부입니다.lazy: (bool) 더 빠른 성능을 위해 지연 로딩을 사용할지 여부입니다. True(기본값)일 때는 필수 실행 메타데이터만 초기 로딩되며, config, summaryMetrics, systemMetrics 같은 무거운 필드는 접근 시점에 필요에 따라 로딩됩니다. 전체 데이터를 미리 로딩하려면 False로 설정하세요.
Run 객체들의 반복 가능한 컬렉션인 Runs 객체를 반환합니다.
Examples:
메서드 Api.slack_integrations
entity: 통합을 가져올 엔터티(예: 팀 이름). 지정하지 않으면 기본 엔터티가 사용됩니다.per_page: 페이지당 가져올 통합 개수. 기본값은 50입니다. 일반적으로 이 값을 변경할 이유는 없습니다.
Iterator[SlackIntegration]: Slack 통합 이터레이터.
메서드 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
메서드 Api.team
Team을 반환합니다.
Args:
team: 팀 이름.
Team 객체.
메서드 Api.update_automation
obj: 업데이트할 automation입니다. 반드시 이미 존재하는 automation이어야 합니다. create_missing (bool): True이면 automation이 존재하지 않을 경우 새로 생성합니다. **kwargs: automation을 업데이트하기 전에 추가로 지정할 값들입니다. 지정하면, 이미 automation에 설정되어 있던 값을 덮어씁니다:name: automation의 이름.description: automation의 설명.enabled: automation이 활성화되어 있는지 여부.scope: automation의 scope.event: automation을 트리거하는 event.action: automation에 의해 트리거되는 action.
메서드 Api.upsert_run_queue
name: 생성할 대기열의 이름entity: 대기열을 생성할 선택적 엔터티 이름.None이면 구성된 엔터티 또는 기본 엔터티를 사용합니다.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
메서드 Api.user
api.viewer를 사용하세요.
인수:
username_or_email: 사용자의 사용자 이름 또는 이메일 주소.
User 객체 또는 사용자를 찾을 수 없으면 None.
메서드 Api.users
api.viewer를 사용하세요.
인자:
username_or_email: 찾고자 하는 사용자의 사용자 이름 또는 이메일 주소의 접두사 또는 접미사입니다.
User 객체의 배열입니다.
메서드 Api.webhook_integrations
entity: integration을 가져올 엔터티(예: 팀 이름). 제공하지 않으면 사용자의 기본 엔터티가 사용됩니다.per_page: 페이지별로 가져올 integration 개수. 기본값은 50입니다. 일반적으로 이 값을 변경해야 할 이유는 거의 없습니다.
Iterator[WebhookIntegration]: webhook integration 이터레이터.