StepRun 類別

中的 Pipeline 步驟執行。

一旦提交父管線執行,且管線已提交步驟執行,即可使用這個類別來管理、檢查狀態和擷取執行詳細資料。

初始化 StepRun。

繼承
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)

參數

experiment
Experiment
必要

步驟執行的實驗物件。

step_run_id
str
必要

步驟回合的執行識別碼。

pipeline_run_id
str
必要

父管線執行的執行識別碼。

node_id
str
必要

圖形中代表此步驟之節點的識別碼。

_service_endpoint
str
預設值: None

要連線的端點。

_is_reused
bool
預設值: False

指出此執行是否為重複使用的先前執行。

_current_node_id
str
預設值: None

針對重複使用的節點,目前圖形上的節點識別碼。

_reused_run_id
str
預設值: None

重複使用的執行識別碼。

_reused_node_id
str
預設值: None

重複使用的節點識別碼。

_reused_pipeline_run_id
str
預設值: None

重複使用的管線識別碼。

experiment
Experiment
必要

步驟執行的實驗物件。

step_run_id
str
必要

步驟回合的執行識別碼。

pipeline_run_id
str
必要

父管線執行的執行識別碼。

node_id
str
必要

圖形中代表此步驟之節點的識別碼。

_service_endpoint
str
必要

要連線的端點。

_is_reused
bool
必要

指出此執行是否為重複使用的先前執行。

_current_node_id
str
必要

針對重複使用的節點,目前圖形上的節點識別碼。

_reused_run_id
必要
_reused_node_id
str
必要
_reused_pipeline_run_id
str
必要

備註

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_output 來擷取具有所提供名稱之輸出的單一 StepRunOutput 物件。 您也可以使用 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

從服務擷取管線執行的最新狀態。

傳回的常見值包括 「Running」、「Finished」 和 「Failed」。

get_stderr_log

傾印步驟執行的目前 stderr 記錄檔。

get_stdout_log

傾印步驟執行的目前 stdout 記錄檔。

wait_for_completion

等候此步驟執行完成。

傳回等候之後的狀態。

child_run

步驟執行的子執行。 這個方法並未針對 StepRun 實作。

child_run(name=None, run_id=None, outputs=None)

參數

name
str
預設值: None

子系的選擇性名稱

run_id
str
預設值: None

子系的選擇性run_id,否則會使用預設值

outputs
str
預設值: None

要追蹤子系的選擇性輸出目錄

傳回

子執行

傳回類型

Run

例外狀況

complete

完成步驟執行。 這個方法並未針對 StepRun 實作。

complete()

例外狀況

fail

步驟執行失敗。 這個方法並未針對 StepRun 實作。

fail()

例外狀況

get_details_with_logs

使用記錄檔內容傳回執行的狀態詳細資料。

get_details_with_logs()

傳回

使用記錄檔內容傳回執行的狀態

傳回類型

例外狀況

get_job_log

傾印步驟執行的目前作業記錄檔。

get_job_log()

傳回

記錄字串。

傳回類型

str

例外狀況

get_output

取得具有指定名稱的節點輸出。

get_output(name)

參數

name
str
必要

輸出的名稱。

傳回

具有指定名稱的 StepRunOutput。

傳回類型

例外狀況

get_output_data

從指定的輸出取得輸出資料。

get_output_data(name)

參數

name
str
必要

輸出的名稱。

傳回

代表步驟輸出資料的 PortDataReference。

傳回類型

例外狀況

get_outputs

取得步驟輸出。

get_outputs()

傳回

具有輸出名稱做為索引鍵之 StepRunOutputs 的字典。

傳回類型

例外狀況

get_status

從服務擷取管線執行的最新狀態。

傳回的常見值包括 「Running」、「Finished」 和 「Failed」。

get_status()

傳回

字串的最新狀態

傳回類型

str

例外狀況

備註

  • NotStarted - 這是雲端提交之前,用戶端 Run 物件的暫存狀態

  • 已排入佇列 - 作業已排入佇列。

  • 執行 - 作業已開始在計算目標中執行。

  • 失敗 - 執行失敗。 執行上的 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

傾印步驟執行的目前 stderr 記錄檔。

get_stderr_log()

傳回

記錄字串。

傳回類型

str

例外狀況

get_stdout_log

傾印步驟執行的目前 stdout 記錄檔。

get_stdout_log()

傳回

記錄字串。

傳回類型

str

例外狀況

wait_for_completion

等候此步驟執行完成。

傳回等候之後的狀態。

wait_for_completion(show_output=True, timeout_seconds=9223372036854775807, raise_on_error=True)

參數

show_output
bool
預設值: True

show_output=True 會顯示 sys.stdout 上的管線執行狀態。

timeout_seconds
int
預設值: 9223372036854775807

逾時前等待的秒數。

raise_on_error
bool
預設值: True

指出當 Run 處於失敗狀態時,是否引發錯誤

傳回

最終狀態。

傳回類型

str

例外狀況

屬性

pipeline_run_id

傳回對應至此步驟執行的管線執行識別碼。

傳回

PipelineRun 識別碼。

傳回類型

str