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
必須
str

ステップ実行の実行 ID。

pipeline_run_id
必須
str

親パイプライン実行の実行 ID。

node_id
必須
str

この手順を表すグラフ内のノードの ID。

_service_endpoint
str

接続するエンドポイント。

規定値: None
_is_reused

この実行が、再利用された以前の実行であるかどうかを示します。

規定値: False
_current_node_id
str

再利用されたノードの場合、現在のグラフのノード ID。

規定値: None
_reused_run_id
str

再利用された実行 ID。

規定値: None
_reused_node_id
str

再利用されたノード ID。

規定値: None
_reused_pipeline_run_id
str

再利用されたパイプライン ID。

規定値: None
experiment
必須

ステップ実行の実験オブジェクト。

step_run_id
必須
str

ステップ実行の実行 ID。

pipeline_run_id
必須
str

親パイプライン実行の実行 ID。

node_id
必須
str

この手順を表すグラフ内のノードの ID。

_service_endpoint
必須
str

接続するエンドポイント。

_is_reused
必須

この実行が、再利用された以前の実行であるかどうかを示します。

_current_node_id
必須
str

再利用されたノードの場合、現在のグラフのノード ID。

_reused_run_id
必須
_reused_node_id
必須
str
_reused_pipeline_run_id
必須
str

注釈

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
str

子の省略可能な名前

規定値: None
run_id
str

子の省略可能な run_id。それ以外の場合は既定値を使用します

規定値: None
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 オブジェクトがクラウド送信前に取る一時的な状態です

  • 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

ステップ実行の現在の 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

show_output=True の場合、パイプライン実行の状態を sys.stdout に表示します。

規定値: True
timeout_seconds
int

タイムアウトするまでに待機する時間 (秒)。

規定値: 9223372036854775807
raise_on_error

Run が失敗状態のときにエラーが生成されるかどうかを示します

規定値: True

戻り値

説明
str

最終的な状態。

例外

説明

属性

pipeline_run_id

このステップ実行に対応するパイプライン実行の ID を返します。

戻り値

説明
str

PipelineRun ID。