클래스
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 |
에이전트를 업데이트할 상태입니다. |