이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.

이 페이지의 일반 화면으로 돌아가기.

launch-library

클래스

class LaunchAgent: run queue에 주어진 run을 폴링하고 wandb Launch에 대한 run을 시작하는 Launch 에이전트 클래스입니다.

함수

launch(...): W&B Launch 실험을 시작합니다.

launch_add(...): 소스 URI, job 또는 docker_image를 사용하여 W&B Launch 실험을 대기열에 추가합니다.

1 - launch

W&B Launch 실험을 시작합니다.

launch(
    api: Api,
    job: Optional[str] = None,
    entry_point: Optional[List[str]] = None,
    version: Optional[str] = None,
    name: Optional[str] = None,
    resource: Optional[str] = None,
    resource_args: Optional[Dict[str, Any]] = None,
    project: Optional[str] = None,
    entity: Optional[str] = None,
    docker_image: Optional[str] = None,
    config: Optional[Dict[str, Any]] = None,
    synchronous: Optional[bool] = (True),
    run_id: Optional[str] = None,
    repository: Optional[str] = None
) -> AbstractRun
인자
job wandb.Job 에 대한 문자열 참조 (예: wandb/test/my-job:latest)
api wandb.apis.internal 의 wandb Api 인스턴스입니다.
entry_point 프로젝트 내에서 실행할 엔트리 포인트입니다. wandb URI의 경우 원래 run에 사용된 엔트리 포인트를 사용하고, Git repository URI의 경우 main.py를 사용하는 것이 기본값입니다.
version Git 기반 프로젝트의 경우 커밋 해시 또는 브랜치 이름입니다.
name run을 시작할 run 이름입니다.
resource run을 위한 실행 백엔드입니다.
resource_args 원격 백엔드에서 run을 시작하기 위한 리소스 관련 인자입니다. resource_args 아래 생성된 launch 설정에 저장됩니다.
project 시작된 run을 보낼 대상 프로젝트
entity 시작된 run을 보낼 대상 엔티티
config run에 대한 설정을 포함하는 사전입니다. “resource_args” 키 아래에 리소스 특정 인자를 포함할 수도 있습니다.
synchronous run이 완료될 때까지 기다리는 동안 차단할지 여부입니다. 기본값은 True입니다. synchronous가 False이고 backend가 “local-container"인 경우 이 메소드는 반환되지만 로컬 run이 완료될 때까지 현재 프로세스는 종료 시 차단됩니다. 현재 프로세스가 중단되면 이 메소드를 통해 시작된 모든 비동기 run이 종료됩니다. synchronous가 True이고 run이 실패하면 현재 프로세스도 오류가 발생합니다.
run_id run의 ID (:name: 필드를 궁극적으로 대체하기 위해)
repository 원격 레지스트리의 repository 경로의 문자열 이름

예시:

from wandb.sdk.launch import launch

job = "wandb/jobs/Hello World:latest"
params = {"epochs": 5}
# W&B 프로젝트를 실행하고 로컬 호스트에서 재현 가능한 도커 환경을 만듭니다.
api = wandb.apis.internal.Api()
launch(api, job, parameters=params)
반환 값
시작된 run에 대한 정보 (예: run ID)를 노출하는 wandb.launch.SubmittedRun의 인스턴스입니다.
예외 발생
wandb.exceptions.ExecutionError 차단 모드에서 시작된 run이 실패한 경우.

2 - launch_add

W&B Launch 실험을 대기열에 추가합니다. source uri, job 또는 docker_image 중 하나를 사용합니다.

launch_add(
    uri: Optional[str] = None,
    job: Optional[str] = None,
    config: Optional[Dict[str, Any]] = None,
    template_variables: Optional[Dict[str, Union[float, int, str]]] = None,
    project: Optional[str] = None,
    entity: Optional[str] = None,
    queue_name: Optional[str] = None,
    resource: Optional[str] = None,
    entry_point: Optional[List[str]] = None,
    name: Optional[str] = None,
    version: Optional[str] = None,
    docker_image: Optional[str] = None,
    project_queue: Optional[str] = None,
    resource_args: Optional[Dict[str, Any]] = None,
    run_id: Optional[str] = None,
    build: Optional[bool] = (False),
    repository: Optional[str] = None,
    sweep_id: Optional[str] = None,
    author: Optional[str] = None,
    priority: Optional[int] = None
) -> "public.QueuedRun"
인Arguments수
uri 실행할 실험의 URI. wandb run uri 또는 Git 저장소 URI입니다.
job wandb.Job 에 대한 문자열 참조 (예: wandb/test/my-job:latest)
config run에 대한 설정을 포함하는 사전입니다. “resource_args” 키 아래에 리소스 특정 인수를 포함할 수도 있습니다.
template_variables run queue에 대한 템플릿 변수의 값을 포함하는 사전입니다. {"VAR_NAME": VAR_VALUE} 형식으로 예상됩니다.
project 실행된 run을 보낼 대상 project
entity 실행된 run을 보낼 대상 entity
queue run을 대기열에 추가할 queue의 이름
priority 작업의 우선순위 수준입니다. 1이 가장 높은 우선순위입니다.
resource run에 대한 실행 백엔드: W&B는 “local-container” 백엔드에 대한 기본 지원을 제공합니다.
entry_point project 내에서 실행할 entry point. wandb URI의 경우 원래 run에서 사용된 entry point를 사용하거나 git 저장소 URI의 경우 main.py를 기본적으로 사용합니다.
name run을 시작할 run 이름입니다.
version Git 기반 프로젝트의 경우 커밋 해시 또는 branch 이름입니다.
docker_image run에 사용할 docker 이미지의 이름입니다.
resource_args 원격 백엔드에 run을 시작하기 위한 리소스 관련 인수입니다. resource_args 아래의 구성된 launch config에 저장됩니다.
run_id 시작된 run의 ID를 나타내는 선택적 문자열입니다.
build 선택적 플래그로 기본값은 false입니다. build인 경우 queue를 설정해야 합니다. 이미지가 생성되고 job Artifacts가 생성되며 해당 job Artifacts에 대한 참조가 queue로 푸시됩니다.
repository 이미지를 레지스트리로 푸시할 때 사용되는 원격 저장소의 이름을 제어하는 선택적 문자열입니다.
project_queue queue에 대한 project 이름을 제어하는 선택적 문자열입니다. 주로 project 범위 queue와의 이전 버전과의 호환성에 사용됩니다.

예제:

from wandb.sdk.launch import launch_add

project_uri = "https://github.com/wandb/examples"
params = {"alpha": 0.5, "l1_ratio": 0.01}
# W&B 프로젝트를 실행하고 로컬 호스트에서 재현 가능한 docker 환경을 만듭니다.
api = wandb.apis.internal.Api()
launch_add(uri=project_uri, parameters=params)
반환 값
queued run에 대한 정보를 제공하는 wandb.api.public.QueuedRun 인스턴스이거나, wait_until_started 또는 wait_until_finished가 호출된 경우 기본 Run 정보에 대한 엑세스를 제공합니다.
예외
실패한 경우 wandb.exceptions.LaunchError

3 - LaunchAgent

run 큐를 폴링하고 wandb Launch에 대한 run을 시작하는 Launch 에이전트 클래스입니다.

LaunchAgent(
    api: Api,
    config: Dict[str, Any]
)
인수
api 백엔드에 요청을 보내는 데 사용할 Api 오브젝트입니다.
config 에이전트의 구성 사전입니다.
속성
num_running_jobs 스케줄러를 포함하지 않는 작업 수를 반환합니다.
num_running_schedulers 스케줄러 수만 반환합니다.
thread_ids 에이전트에 대해 실행 중인 스레드 ID의 키 목록을 반환합니다.

메소드

check_sweep_state

소스 보기

check_sweep_state(
    launch_spec, api
)

스윕에 대한 run을 시작하기 전에 스윕의 상태를 확인합니다.

fail_run_queue_item

소스 보기

fail_run_queue_item(
    run_queue_item_id, message, phase, files=None
)

finish_thread_id

소스 보기

finish_thread_id(
    thread_id, exception=None
)

현재 작업 목록에서 작업을 제거합니다.

get_job_and_queue

소스 보기

get_job_and_queue()

initialized

소스 보기

@classmethod
initialized() -> bool

에이전트가 초기화되었는지 여부를 반환합니다.

loop

소스 보기

loop()

작업을 폴링하고 실행하기 위해 무한 루프합니다.

예외
KeyboardInterrupt 에이전트가 중지 요청을 받은 경우 발생합니다.

name

소스 보기

@classmethod
name() -> str

에이전트의 이름을 반환합니다.

pop_from_queue

소스 보기

pop_from_queue(
    queue
)

runqueue에서 항목을 팝하여 작업으로 실행합니다.

인수
queue 팝할 큐입니다.
반환 값
큐에서 팝된 항목입니다.
예외
Exception 큐에서 팝하는 동안 오류가 발생한 경우 발생합니다.

소스 보기

print_status() -> None

에이전트의 현재 상태를 출력합니다.

run_job

소스 보기

run_job(
    job, queue, file_saver
)

프로젝트를 설정하고 작업을 실행합니다.

인수
job 실행할 작업입니다.

task_run_job

소스 보기

task_run_job(
    launch_spec, job, default_config, api, job_tracker
)

update_status

소스 보기

update_status(
    status
)

에이전트의 상태를 업데이트합니다.

인수
status 에이전트를 업데이트할 상태입니다.