class Api
W&B 서버에 질의하는 데 사용됩니다.
예제:
method Api.__init__
overrides:base_url을 설정할 수 있습니다. 예를 들어,https: //api.wandb.ai가 아닌 다른 W&B 서버를 사용하는 경우에 설정합니다. 또한entity,project,run`의 기본값도 설정할 수 있습니다.timeout: API 요청에 대한 HTTP 타임아웃(초)입니다. 지정하지 않으면 기본 타임아웃이 사용됩니다.api_key: 인증에 사용할 API 키입니다. 제공되지 않으면 현재 환경이나 설정에 있는 API 키가 사용됩니다. 환경에 제공되었거나 설정된 API 키가 전혀 없으면 API 키 입력을 요청합니다.
property Api.client
클라이언트 객체를 반환합니다. 반환값:RetryingClient: client 속성 값입니다.
property Api.default_entity
기본 W&B entity를 반환합니다. 반환값: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: 아티팩트의 이름입니다. 아티팩트 이름은 최소한 아티팩트가 로그된 프로젝트 이름, 아티팩트 이름, 그리고 아티팩트의 버전 또는 별칭으로 구성된, 파일 경로와 유사한 형식입니다. 선택적으로, 아티팩트를 로그한 엔티티를 접두사로 앞에 추가하고 슬래시(/)로 구분할 수 있습니다. 이름에 엔티티가 지정되지 않은 경우, run 또는 API 설정의 entity가 사용됩니다.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 엔터티, 아티팩트가 포함된 프로젝트 이름, 그리고 아티팩트 이름을 나타내는 플레이스홀더입니다.
메서드 Api.artifact_collection_exists
name: 아티팩트 컬렉션 이름. 선택적으로, 아티팩트를 로깅한 entity를 접두사로 추가하고 그 뒤에 슬래시를 붙일 수 있습니다. entity 또는 project가 지정되지 않은 경우, 존재한다면 override 파라미터에서 컬렉션을 유추합니다. 그렇지 않으면 entity는 사용자 설정에서 가져오고 project는 기본적으로 “uncategorized”로 설정됩니다.type: 아티팩트 컬렉션의 타입.
메서드 Api.artifact_collections
project_name: 필터링에 사용할 프로젝트 이름.type_name: 필터링에 사용할 아티팩트 타입 이름.per_page: 쿼리 페이지네이션에 사용할 페이지 크기 설정 값입니다. 일반적으로 이 값을 변경할 필요는 없습니다.
ArtifactCollections 객체.
메서드 Api.artifact_exists
name: 아티팩트의 이름. 접두사로 아티팩트의 entity와 프로젝트를 추가한다. 콜론(:)을 사용해 아티팩트의 버전 또는 별칭(alias)을 덧붙인다. entity 또는 프로젝트가 지정되지 않은 경우, 값이 설정되어 있다면 override 파라미터를 사용한다. 그렇지 않으면 entity는 사용자 설정에서 가져오고, 프로젝트는 “Uncategorized”로 설정된다.type: 아티팩트의 유형.
메서드 Api.artifact_type
ArtifactType을 반환합니다.
매개변수:
type_name: 조회할 아티팩트 타입의 이름입니다.project: 지정하면, 필터링에 사용할 프로젝트 이름 또는 경로입니다.
ArtifactType 객체입니다.
메서드 Api.artifact_types
project: 필터링에 사용할 프로젝트 이름 또는 경로.
ArtifactTypes 객체를 반환합니다.
메서드 Api.artifact_versions
Api.artifacts(type_name, name) 메서드를 사용하십시오.
method Api.artifacts
Artifacts 컬렉션을 반환합니다.
Args:
type_name: 가져올 아티팩트의 유형입니다.name: 아티팩트 컬렉션 이름입니다. 선택적으로 아티팩트를 로깅한 엔터티를 접두사로 추가하고, 이어서 슬래시(/)를 붙일 수 있습니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이 값을 변경할 필요는 없습니다.tags: 이 모든 태그를 포함하는 아티팩트만 반환합니다.
Artifacts 객체입니다.
Examples:
다음 코드 스니펫에서 “type”, “entity”, “project”, 그리고 “artifact_name”은 각각 아티팩트 유형, W&B entity, 아티팩트가 로깅된 프로젝트 이름, 그리고 아티팩트 이름에 대한 플레이스홀더입니다.
메서드 Api.automation
name: 가져올 Automation의 이름입니다.entity: Automation을 가져올 entity입니다.
ValueError: 검색 기준과 일치하는 Automation이 0개이거나 여러 개인 경우 발생합니다.
method Api.automations
entity: Automation을 조회할 엔티티.name: 조회할 Automation의 이름.per_page: 페이지당 조회할 Automation 개수. 기본값은 50입니다. 일반적으로 이 값을 변경할 필요는 없습니다.
method Api.create_automation
name: automation의 이름.description: automation의 설명.enabled: automation이 활성화되어 있는지 여부.scope: automation의 범위.event: automation을 트리거하는 이벤트.action: automation에 의해 트리거되는 동작.
메서드 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: 서버가 사용자 지정 차트를 지원하지 않는 경우
method 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.
method Api.create_run
run_id: run에 할당할 ID입니다. 지정하지 않으면 W&B가 임의의 ID를 생성합니다.project: run을 기록할 프로젝트입니다. 프로젝트를 지정하지 않으면 “Uncategorized”라는 프로젝트에 run을 기록합니다.entity: 프로젝트를 소유하는 엔티티입니다. 엔티티를 지정하지 않으면 기본 엔티티에 run을 기록합니다.
Run입니다.
메서드 Api.create_run_queue
name: 생성할 큐의 이름type: 큐에 사용할 리소스 유형. “local-container”, “local-process”, “kubernetes”, “sagemaker”, 또는 “gcp-vertex” 중 하나.entity: 큐를 생성할 엔티티 이름.None이면 설정된 엔티티 또는 기본 엔티티를 사용합니다.prioritization_mode: 사용할 우선순위 지정 버전. “V0” 또는None중 하나.config: 큐에 사용할 기본 리소스 설정. 템플릿 변수를 지정하기 위해 handlebars를 사용합니다(예:{{var}}).template_variables: config와 함께 사용할 템플릿 변수 스키마를 담은 사전.
RunQueue.
Raises:
매개변수가 잘못된 경우 ValueError, wandb API 오류 시 wandb.Error
메서드 Api.create_team
team: 팀 이름admin_username: 팀의 관리자 사용자의 사용자 이름. 기본값은 현재 사용자입니다.
Team 객체를 반환합니다.
method Api.create_user
email: 사용자의 이메일 주소.admin: 사용자를 전역 인스턴스 관리자(global instance administrator)로 설정합니다.
User 객체를 반환합니다.
메서드 Api.delete_automation
obj: 삭제할 자동화 객체 또는 해당 ID.
method Api.flush
api 객체는 run에 대한 로컬 캐시를 유지합니다. 따라서 스크립트를 실행하는 동안 run의 상태가 변경될 가능성이 있는 경우, 해당 run과 연관된 최신 값을 가져오려면 api.flush()로 로컬 캐시를 반드시 비워야 합니다.
메서드 Api.from_path
path: 프로젝트, run, 스윕 또는 리포트에 대한 경로
Project, Run, Sweep 또는 BetaReport 인스턴스.
Raises:
경로가 잘못되었거나 객체가 존재하지 않는 경우 wandb.Error를 발생합니다.
Examples:
다음 코드 스니펫에서 “project”, “team”, “run_id”, “sweep_id”, 및 “report_name”은 각각 프로젝트, 팀, run ID, 스윕 ID, 그리고 특정 리포트 이름을 나타내는 플레이스홀더입니다.
메서드 Api.integrations
entity: 인테그레이션을 가져올 엔티티(예: 팀 이름). 제공하지 않으면 사용자의 기본 엔티티가 사용됩니다.per_page: 페이지당 가져올 인테그레이션 개수. 기본값은 50입니다. 일반적으로 이 값을 변경할 필요는 없습니다.
Iterator[SlackIntegration | WebhookIntegration]: 지원되는 인테그레이션을 순회하는 이터레이터.
메서드 Api.job
Job 객체를 반환합니다.
Args:
name: Job 이름.path: Job 아티팩트를 다운로드할 루트 경로.
Job 객체.
메서드 Api.list_jobs
entity: 나열할 job이 속한 entity입니다.project: 나열할 job이 속한 프로젝트입니다.
method Api.project
Project를 반환합니다.
인자:
name: 프로젝트 이름입니다.entity: 요청할 entity 이름입니다. None이면Api에 전달된 기본 entity를 사용합니다. 기본 entity가 없으면ValueError를 발생시킵니다.
Project 객체입니다.
메서드 Api.projects
entity: 요청된 엔티티의 이름입니다. None이면Api에 전달된 기본 엔티티를 사용합니다. 기본 엔티티가 없으면ValueError를 발생시킵니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이 값을 변경할 필요는 없습니다.
Projects 객체로, 이는 Project 객체들의 이터러블 컬렉션입니다.
method Api.queued_run
entity/project/queue_id/run_queue_item_id 형식의 경로를 파싱합니다.
메서드 Api.registries
Registry 객체의 지연 이터레이터를 반환합니다.
이 이터레이터를 사용해 조직의 레지스트리 전체에서 레지스트리, 컬렉션 또는 아티팩트 버전을 검색하고 필터링할 수 있습니다.
Args:
organization: (str, optional) 가져올 레지스트리가 속한 조직. 지정하지 않으면 사용자 설정에 지정된 조직을 사용합니다.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 객체의 지연 이터레이터.
Examples:
이름에 “모델”이 포함된 모든 레지스트리 찾기
메서드 Api.registry
name: 레지스트리 이름입니다.wandb-registry-접두사는 제외합니다.organization: 레지스트리가 속한 organization입니다. 설정에 organization이 지정되지 않은 경우, entity가 하나의 organization에만 속해 있다면 해당 entity에서 organization을 가져옵니다.
메서드 Api.reports
wandb.Api.reports() API는 베타 버전이며, 향후 릴리스에서 변경될 가능성이 큽니다.
Args:
path: 리포트가 포함된 프로젝트의 경로입니다. 프로젝트를 생성한 entity를 접두사로, 그 뒤에 슬래시(/)를 붙여 지정합니다.name: 요청할 리포트의 이름입니다.per_page: 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다. 일반적으로 이 값을 변경할 필요는 없습니다.
BetaReport 객체의 이터러블 컬렉션인 Reports 객체를 반환합니다.
Examples:
메서드 Api.run
entity/project/run_id 형식의 경로를 파싱하여 단일 run을 반환합니다.
Args:
path:entity/project/run_id형식의 run 경로입니다.api.entity가 설정된 경우project/run_id형식을 사용할 수 있고,api.project가 설정된 경우 run_id만 사용할 수 있습니다.
Run 객체를 반환합니다.
메서드 Api.run_queue
RunQueue를 반환합니다.
run 큐를 생성하는 방법에 대한 자세한 내용은 Api.create_run_queue를 참조하세요.
메서드 Api.runs
Run 객체를 지연 방식으로 순회(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) 프로젝트에 대한 path로, “entity/project” 형식이어야 합니다.filters: (dict) MongoDB 쿼리 언어를 사용하여 특정 run들을 조회하기 위한 쿼리입니다. config.key, summary_metrics.key, state, entity, createdAt 등과 같은 run 속성으로 필터링할 수 있습니다.For example:{"config.experiment_name": "foo"}는 experiment name이 “foo”로 설정된 config 항목을 가진 run을 찾습니다.order: (str) 정렬 기준은created_at,heartbeat_at,config.*.value, 또는summary_metrics.*가 될 수 있습니다. order 앞에 +를 붙이면 오름차순(기본값), -를 붙이면 내림차순입니다. 기본 정렬 기준은 run.created_at이며, 가장 오래된 것부터 최신까지 정렬됩니다.per_page: (int) 쿼리 페이지네이션을 위한 페이지 크기를 설정합니다.include_sweeps: (bool) 결과에 스윕 run들을 포함할지 여부입니다.lazy: (bool) 더 빠른 성능을 위해 지연 로딩을 사용할지 여부입니다. True(기본값)인 경우 필수적인 run 메타데이터만 처음에 로드됩니다. config, summaryMetrics, systemMetrics와 같은 무거운 필드는 접근 시 온디맨드로 로드됩니다. 모든 데이터를 처음부터 로드하려면 False로 설정하세요.
Run 객체들의 이터러블 컬렉션인 Runs 객체를 반환합니다.
Examples:
method Api.slack_integrations
entity: 인테그레이션을 가져올 엔티티(예: 팀 이름). 제공되지 않으면 사용자의 기본 엔티티가 사용됩니다.per_page: 페이지당 가져올 인테그레이션 개수. 기본값은 50입니다. 일반적으로 이 값을 변경할 필요는 없습니다.
Iterator[SlackIntegration]: Slack 인테그레이션 이터레이터.
메서드 Api.sweep
entity/project/sweep_id 형식의 경로를 파싱하여 스윕을 반환합니다.
Args:
path:entity/project/sweep_id형식의 스윕 경로입니다.api.entity가 설정되어 있으면project/sweep_id형식으로 지정할 수 있고,api.project가 설정되어 있으면sweep_id만 지정하면 됩니다.
Sweep 객체.
method Api.sync_tensorboard
메서드 Api.team
Team을(를) 반환합니다.
Args:
team: 팀 이름.
Team 객체를 반환합니다.
메서드 Api.update_automation
obj: 업데이트할 자동화입니다. 기존 자동화여야 합니다. create_missing (bool): True이며 자동화가 존재하지 않으면, 자동화를 새로 생성합니다. **kwargs: 업데이트 전에 자동화에 할당할 추가 인수입니다. 지정된 경우 자동화에 이미 설정되어 있을 수 있는 값을 덮어씁니다:name: 자동화의 이름.description: 자동화의 설명.enabled: 자동화 활성화 여부.scope: 자동화의 범위.event: 자동화를 트리거하는 이벤트.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를 발생시킵니다.
method Api.user
api.viewer 를 사용하세요.
인수(Args):
username_or_email: 사용자의 사용자 이름 또는 이메일 주소입니다.
User 객체 또는 사용자를 찾을 수 없으면 None입니다.
method Api.users
api.viewer 를 사용하세요.
인수(Args):
username_or_email: 찾고자 하는 사용자 이름 또는 이메일의 접두사 또는 접미사입니다.
User 객체의 배열.
메서드 Api.webhook_integrations
entity: 인테그레이션을 가져올 엔티티(예: 팀 이름). 제공되지 않으면 사용자의 기본 엔티티가 사용됩니다.per_page: 페이지당 가져올 인테그레이션 개수. 기본값은 50입니다. 일반적으로 이 값을 변경할 필요는 없습니다.
Iterator[WebhookIntegration]: webhook 인테그레이션의 이터레이터.