StepRun 클래스
의 단계 실행입니다 Pipeline.
이 클래스는 부모 파이프라인 실행이 제출되고 파이프라인이 단계 실행을 제출한 후 실행 세부 정보를 관리, 확인 및 검색하는 데 사용할 수 있습니다.
StepRun을 초기화합니다.
생성자
StepRun(experiment, step_run_id, pipeline_run_id, node_id, _service_endpoint=None, _is_reused=False, _current_node_id=None, _reused_run_id=None, _reused_node_id=None, _reused_pipeline_run_id=None, **kwargs)
매개 변수
| Name | Description |
|---|---|
|
experiment
필수
|
단계 실행의 실험 개체입니다. |
|
step_run_id
필수
|
단계 실행의 실행 ID입니다. |
|
pipeline_run_id
필수
|
부모 파이프라인 실행의 실행 ID입니다. |
|
node_id
필수
|
이 단계를 나타내는 그래프의 노드 ID입니다. |
|
_service_endpoint
|
연결할 엔드포인트입니다. Default value: None
|
|
_is_reused
|
이 실행이 재사용된 이전 실행인지 여부를 나타냅니다. Default value: False
|
|
_current_node_id
|
재사용된 노드의 경우 현재 그래프의 노드 ID입니다. Default value: None
|
|
_reused_run_id
|
재사용된 실행 ID입니다. Default value: None
|
|
_reused_node_id
|
재사용된 노드 ID입니다. Default value: None
|
|
_reused_pipeline_run_id
|
재사용된 파이프라인 ID입니다. Default value: None
|
|
experiment
필수
|
단계 실행의 실험 개체입니다. |
|
step_run_id
필수
|
단계 실행의 실행 ID입니다. |
|
pipeline_run_id
필수
|
부모 파이프라인 실행의 실행 ID입니다. |
|
node_id
필수
|
이 단계를 나타내는 그래프의 노드 ID입니다. |
|
_service_endpoint
필수
|
연결할 엔드포인트입니다. |
|
_is_reused
필수
|
이 실행이 재사용된 이전 실행인지 여부를 나타냅니다. |
|
_current_node_id
필수
|
재사용된 노드의 경우 현재 그래프의 노드 ID입니다. |
|
_reused_run_id
필수
|
|
|
_reused_node_id
필수
|
|
|
_reused_pipeline_run_id
필수
|
|
설명
StepRun은 제출된 PipelineRun자식 실행으로 만들어집니다. 다음과 같이 PipelineRun에서 모든 StepRuns를 가져옵니다.
from azureml.core import Experiment
from azureml.pipeline.core import PipelineRun
experiment = Experiment(workspace, "<experiment_name>")
pipeline_run = PipelineRun(experiment, "<pipeline_run_id>")
step_runs = pipeline_run.get_steps()
실행에서 만든 실행 세부 정보 및 로그를 가져오는 데 사용합니다 get_details_with_logs .
StepRun을 사용하여 실행의 출력을 다운로드할 수도 있습니다. 단계 출력의 받아쓰기를 검색하거나 제공된 이름을 사용하여 출력에 대한 단일 get_outputs 개체를 검색하는 데 사용합니다.get_outputStepRunOutput 지정된 단계 출력을 get_output_data 직접 가져오는 데 사용할 PortDataReference 수도 있습니다.
단계 출력을 다운로드하는 예는 다음과 같습니다.
from azureml.pipeline.core import PipelineRun, StepRun, PortDataReference
pipeline_run = PipelineRun(experiment, "<pipeline_run_id>")
step_run = pipeline_run.find_step_run("<step_name>")[0]
port_data_reference = step_run.get_output_data("<output_name>")
port_data_reference.download(local_path="path")
메서드
| child_run |
단계 실행에 대한 자식 실행입니다. 이 메서드는 StepRun에 대해 구현되지 않습니다. |
| complete |
단계 실행을 완료합니다. 이 메서드는 StepRun에 대해 구현되지 않습니다. |
| fail |
단계 실행에 실패합니다. 이 메서드는 StepRun에 대해 구현되지 않습니다. |
| get_details_with_logs |
로그 파일 내용과 함께 실행의 상태 세부 정보를 반환합니다. |
| get_job_log |
단계 실행에 대한 현재 작업 로그를 덤프합니다. |
| get_output |
지정된 이름의 노드 출력을 가져옵니다. |
| get_output_data |
지정된 출력에서 출력 데이터를 가져옵니다. |
| get_outputs |
단계 출력을 가져옵니다. |
| get_status |
서비스에서 파이프라인 실행의 최신 상태를 가져옵니다. 반환되는 일반적인 값에는 "실행 중", "완료됨" 및 "실패"가 포함됩니다. |
| get_stderr_log |
단계 실행에 대한 현재 stderr 로그를 덤프합니다. |
| get_stdout_log |
단계 실행에 대한 현재 stdout 로그를 덤프합니다. |
| wait_for_completion |
이 단계 실행이 완료될 때까지 기다립니다. 대기 후 상태를 반환합니다. |
child_run
단계 실행에 대한 자식 실행입니다. 이 메서드는 StepRun에 대해 구현되지 않습니다.
child_run(name=None, run_id=None, outputs=None)
매개 변수
| Name | Description |
|---|---|
|
name
|
자식의 선택적 이름 Default value: None
|
|
run_id
|
자식에 대한 선택적 run_id, 그렇지 않으면 기본값을 사용합니다. Default value: None
|
|
outputs
|
자식에 대해 추적할 선택적 출력 디렉터리 Default value: None
|
반환
| 형식 | Description |
|---|---|
|
자식 실행 |
예외
| 형식 | Description |
|---|---|
complete
fail
get_details_with_logs
로그 파일 내용과 함께 실행의 상태 세부 정보를 반환합니다.
get_details_with_logs()
반환
| 형식 | Description |
|---|---|
|
로그 파일 내용이 포함된 실행 상태를 반환합니다. |
get_job_log
get_output
지정된 이름의 노드 출력을 가져옵니다.
get_output(name)
매개 변수
| Name | Description |
|---|---|
|
name
필수
|
출력의 이름입니다. |
반환
| 형식 | Description |
|---|---|
|
지정된 이름의 StepRunOutput입니다. |
get_output_data
지정된 출력에서 출력 데이터를 가져옵니다.
get_output_data(name)
매개 변수
| Name | Description |
|---|---|
|
name
필수
|
출력의 이름입니다. |
반환
| 형식 | Description |
|---|---|
|
단계 출력 데이터를 나타내는 PortDataReference입니다. |
get_outputs
get_status
서비스에서 파이프라인 실행의 최신 상태를 가져옵니다.
반환되는 일반적인 값에는 "실행 중", "완료됨" 및 "실패"가 포함됩니다.
get_status()
반환
| 형식 | Description |
|---|---|
|
문자열로서의 최신 상태 |
설명
NotStarted - 클라우드 제출 전에 임시 상태 클라이언트 쪽 실행 개체입니다.
대기 중 - 작업이 큐에 대기됩니다.
실행 중 - 컴퓨팅 대상에서 작업이 실행되기 시작했습니다.
실패 - 실행이 실패했습니다. 일반적으로 실행의 Error 속성은 이유에 대한 세부 정보를 제공합니다.
완료됨 - 실행이 성공적으로 완료되었습니다.
취소됨 - 취소 요청에 따라 실행이 성공적으로 취소됩니다.
run = experiment.submit(config)
while run.get_status() not in ['Finished', 'Failed']: # For example purposes only, not exhaustive
print('Run {} not in terminal state'.format(run.id))
time.sleep(10)
get_stderr_log
get_stdout_log
wait_for_completion
이 단계 실행이 완료될 때까지 기다립니다.
대기 후 상태를 반환합니다.
wait_for_completion(show_output=True, timeout_seconds=9223372036854775807, raise_on_error=True)
매개 변수
| Name | Description |
|---|---|
|
show_output
|
show_output=True이면 sys.stdout의 파이프라인 실행 상태가 표시됩니다. Default value: True
|
|
timeout_seconds
|
시간이 초과되기 전에 대기할 시간(초)입니다. Default value: 9223372036854775807
|
|
raise_on_error
|
실행이 실패 상태일 때 오류를 발생할지 여부를 나타냅니다. Default value: True
|
반환
| 형식 | Description |
|---|---|
|
최종 상태입니다. |