클래스
class LaunchAgent
: run queue에 주어진 run을 폴링하고 wandb Launch에 대한 run을 시작하는 Launch 에이전트 클래스입니다.
함수
launch(...)
: W&B Launch 실험을 시작합니다.
launch_add(...)
: 소스 URI, job 또는 docker_image를 사용하여 W&B Launch 실험을 대기열에 추가합니다.
이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.
class LaunchAgent
: run queue에 주어진 run을 폴링하고 wandb Launch에 대한 run을 시작하는 Launch 에이전트 클래스입니다.
launch(...)
: W&B Launch 실험을 시작합니다.
launch_add(...)
: 소스 URI, job 또는 docker_image를 사용하여 W&B 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이 실패한 경우. |
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 |
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
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 | 에이전트를 업데이트할 상태입니다. |