SweepJob 클래스
하이퍼 매개 변수 튜닝을 위한 스윕 작업입니다.
- 상속
-
azure.ai.ml.entities._job.job.JobSweepJobazure.ai.ml.entities._job.sweep.parameterized_sweep.ParameterizedSweepSweepJobazure.ai.ml.entities._job.job_io_mixin.JobIOMixinSweepJob
생성자
SweepJob(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, display_name: str | None = None, experiment_name: str | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, inputs: Dict[str, int | str | float | bool | Input] | None = None, outputs: Dict[str, Output] | None = None, compute: str | None = None, limits: SweepJobLimits | None = None, sampling_algorithm: str | SamplingAlgorithm | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, objective: Objective | None = None, trial: CommandJob | CommandComponent | None = None, early_termination: BanditPolicy | MedianStoppingPolicy | TruncationSelectionPolicy | None = None, queue_settings: QueueSettings | None = None, **kwargs: Any)
매개 변수
- name
- str
작업의 이름입니다.
- display_name
- str
작업의 표시 이름입니다.
- description
- str
작업에 대한 설명입니다.
- experiment_name
- str
작업이 만들어질 실험의 이름입니다. None이 제공되지 않으면 실험 '기본값'에서 작업이 만들어집니다.
컴퓨팅에서 실행하는 동안 학습 작업이 사용할 ID입니다.
- inputs
- dict
명령에 대한 입력입니다.
- sampling_algorithm
- str
search_space 사용할 하이퍼 매개 변수 샘플링 알고리즘입니다. 기본값은 "random"입니다.
- search_space
- Dict
하이퍼 매개 변수 검색 공간의 사전입니다. 키는 하이퍼 매개 변수의 이름이고 값은 매개 변수 식입니다.
- objective
- Objective
최적화할 메트릭입니다.
- compute
- str
작업이 실행되는 컴퓨팅 대상입니다.
- trial
- Union[CommandJob, CommandComponent]
각 평가판에 대한 작업 구성입니다. 각 평가판은 시스템이 search_space 샘플링하는 하이퍼 매개 변수 값의 다른 조합으로 제공됩니다.
- early_termination
- Union[BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]
사용할 조기 종료 정책입니다. 지정된 정책의 조건이 충족되면 평가판 작업이 취소됩니다. 생략하면 조기 종료 정책이 적용되지 않습니다.
- limits
- <xref:azure.ai.ml.entities.SweepJobLimits>
스윕 작업에 대한 한도입니다.
- queue_settings
- QueueSettings
작업에 대한 큐 설정입니다.
- kwargs
- dict
추가 구성 매개 변수의 사전입니다.
예제
SweepJob 만들기
from azure.ai.ml.entities import CommandJob
from azure.ai.ml.sweep import BayesianSamplingAlgorithm, Objective, SweepJob, SweepJobLimits
command_job = CommandJob(
inputs=dict(kernel="linear", penalty=1.0),
compute=cpu_cluster,
environment=f"{job_env.name}:{job_env.version}",
code="./scripts",
command="python scripts/train.py --kernel $kernel --penalty $penalty",
experiment_name="sklearn-iris-flowers",
)
sweep = SweepJob(
sampling_algorithm=BayesianSamplingAlgorithm(),
trial=command_job,
search_space={"ss": Choice(type="choice", values=[{"space1": True}, {"space2": True}])},
inputs={"input1": {"file": "top_level.csv", "mode": "ro_mount"}},
compute="top_level",
limits=SweepJobLimits(trial_timeout=600),
objective=Objective(goal="maximize", primary_metric="accuracy"),
)
메서드
dump |
YAML 형식의 파일로 작업 콘텐츠를 덤프합니다. |
set_limits |
스윕 노드에 대한 제한을 설정합니다. 해당 값을 업데이트하지 않으려면 매개 변수를 없음으로 둡니다. |
set_objective |
스윕 개체를 설정합니다. 해당 값을 업데이트하지 않으려면 매개 변수를 없음으로 둡니다. "minimize", "maximize". :type goal: str :키워드(keyword) primary_metric: 최적화할 메트릭의 이름입니다. :p aramtype primary_metric: str |
dump
YAML 형식의 파일로 작업 콘텐츠를 덤프합니다.
dump(dest: str | PathLike | IO, **kwargs) -> None
매개 변수
YAML 콘텐츠를 쓸 로컬 경로 또는 파일 스트림입니다. dest가 파일 경로인 경우 새 파일이 만들어집니다. dest가 열려 있는 파일인 경우 파일이 직접 기록됩니다.
- kwargs
- dict
YAML serializer에 전달할 추가 인수입니다.
예외
dest가 파일 경로이고 파일이 이미 있는 경우 발생합니다.
dest가 열려 있는 파일이고 파일을 쓸 수 없는 경우 발생합니다.
set_limits
스윕 노드에 대한 제한을 설정합니다. 해당 값을 업데이트하지 않으려면 매개 변수를 없음으로 둡니다.
set_limits(*, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None) -> None
매개 변수
- max_concurrent_trials
- int
최대 동시 평가판 번호입니다.
- max_total_trials
- int
최대 총 평가판 수입니다.
- timeout
- int
스윕 노드의 총 시간 제한(초)
- trial_timeout
- int
각 평가판에 대한 시간 제한(초)
예외
dest가 파일 경로이고 파일이 이미 있는 경우 발생합니다.
dest가 열려 있는 파일이고 파일을 쓸 수 없는 경우 발생합니다.
set_objective
스윕 개체를 설정합니다. 해당 값을 업데이트하지 않으려면 매개 변수를 없음으로 둡니다.
"minimize", "maximize". :type goal: str :키워드(keyword) primary_metric: 최적화할 메트릭의 이름입니다. :p aramtype primary_metric: str
set_objective(*, goal: str | None = None, primary_metric: str | None = None) -> None
매개 변수
- goal
하이퍼 매개 변수 튜닝을 위해 지원되는 메트릭 목표를 정의합니다. 사용 가능한 값은
예외
dest가 파일 경로이고 파일이 이미 있는 경우 발생합니다.
dest가 열려 있는 파일이고 파일을 쓸 수 없는 경우 발생합니다.
특성
base_path
creation_context
early_termination
스윕 작업에 대한 조기 종료 정책입니다.
반환
스윕 작업에 대한 조기 종료 정책입니다.
반환 형식
id
inputs
limits
log_files
outputs
sampling_algorithm
status
작업의 상태.
반환되는 일반적인 값에는 “Running”, “Completed”, “Failed”가 포함됩니다. 가능한 모든 값은 다음과 같습니다.
NotStarted - 클라이언트 쪽 Run 개체가 클라우드 제출 전에 있는 임시 상태입니다.
Starting - 실행이 클라우드에서 처리되기 시작했습니다. 호출자에게는 이 시점에서 실행 ID가 있습니다.
프로비전 - 지정된 작업 제출을 위해 주문형 컴퓨팅을 만들고 있습니다.
준비 - 실행 환경이 준비되고 있으며 다음 두 단계 중 하나입니다.
Docker 이미지 빌드
conda 환경 설정
큐에 대기 - 작업이 컴퓨팅 대상에서 큐에 대기됩니다. 예를 들어 BatchAI에서 작업은 대기 상태입니다.
요청된 모든 노드가 준비될 때까지 기다리는 동안 대기 상태입니다.
실행 중 - 컴퓨팅 대상에서 작업이 실행되기 시작했습니다.
종료 - 사용자 코드 실행이 완료되었으며 실행이 사후 처리 단계에 있습니다.
CancelRequested - 작업에 대한 취소가 요청되었습니다.
완료됨 - 실행이 성공적으로 완료되었습니다. 여기에는 사용자 코드 실행 및 실행이 모두 포함됩니다.
사후 처리 단계입니다.
Failed - 실행이 실패했습니다. 일반적으로 실행의 오류 속성은 이유에 대한 세부 정보를 제공합니다.
Canceled - 취소 요청을 따르고 실행이 성공적으로 취소되었음을 나타냅니다.
NotResponding - 하트비트를 사용하도록 설정한 실행의 경우 최근에 하트비트를 보내지 않았습니다.
반환
작업의 상태.
반환 형식
studio_url
type
Azure SDK for Python