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
必須
|
ステップ実行の実験オブジェクト。 |
step_run_id
必須
|
ステップ実行の実行 ID。 |
pipeline_run_id
必須
|
親パイプライン実行の実行 ID。 |
node_id
必須
|
この手順を表すグラフ内のノードの ID。 |
_service_endpoint
|
接続するエンドポイント。 規定値: None
|
_is_reused
|
この実行が、再利用された以前の実行であるかどうかを示します。 規定値: False
|
_current_node_id
|
再利用されたノードの場合、現在のグラフのノード ID。 規定値: None
|
_reused_run_id
|
再利用された実行 ID。 規定値: None
|
_reused_node_id
|
再利用されたノード ID。 規定値: None
|
_reused_pipeline_run_id
|
再利用されたパイプライン ID。 規定値: 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 内のすべての StepRun を次のようにフェッチします。
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
|
子の省略可能な名前 規定値: None
|
run_id
|
子の省略可能な run_id。それ以外の場合は既定値を使用します 規定値: None
|
outputs
|
子を追跡する出力ディレクトリ (省略可能) 規定値: None
|
戻り値
型 | 説明 |
---|---|
子実行 |
例外
型 | 説明 |
---|---|
complete
fail
get_details_with_logs
ログ ファイルのコンテンツを含む、実行の状態の詳細を返します。
get_details_with_logs()
戻り値
型 | 説明 |
---|---|
ログ ファイルのコンテンツを含む、実行の状態を返します |
例外
型 | 説明 |
---|---|
get_job_log
get_output
指定した名前のノード出力を取得します。
get_output(name)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
出力の名前。 |
戻り値
型 | 説明 |
---|---|
指定した名前の StepRunOutput。 |
例外
型 | 説明 |
---|---|
get_output_data
指定した出力から出力データを取得します。
get_output_data(name)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
出力の名前。 |
戻り値
型 | 説明 |
---|---|
ステップ出力データを表す PortDataReference。 |
例外
型 | 説明 |
---|---|
get_outputs
ステップ出力を取得します。
get_outputs()
戻り値
型 | 説明 |
---|---|
出力名をキーとして持つ StepRunOutputs のディクショナリ。 |
例外
型 | 説明 |
---|---|
get_status
サービスからパイプライン実行の最新の状態をフェッチします。
一般的には "Running"、"Finished"、"Failed" などの値が返されます。
get_status()
戻り値
型 | 説明 |
---|---|
文字列としての最新の状態 |
例外
型 | 説明 |
---|---|
注釈
NotStarted - これは、クライアント側の Run オブジェクトがクラウド送信前に取る一時的な状態です
Queued - ジョブはキューに登録されています。
Running - コンピューティング先でジョブの実行が開始されました。
Failed - 実行が失敗しました。 通常は実行の Error プロパティで、理由に関する詳細が提供されます。
Completed - 実行は正常に完了しました。
Canceled - 取り消し要求の後、実行は正常に取り消されました。
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)
パラメーター
名前 | 説明 |
---|---|
show_output
|
show_output=True の場合、パイプライン実行の状態を sys.stdout に表示します。 規定値: True
|
timeout_seconds
|
タイムアウトするまでに待機する時間 (秒)。 規定値: 9223372036854775807
|
raise_on_error
|
Run が失敗状態のときにエラーが生成されるかどうかを示します 規定値: True
|
戻り値
型 | 説明 |
---|---|
最終的な状態。 |
例外
型 | 説明 |
---|---|