CommandStep クラス
コマンドを実行する Azure ML パイプライン ステップを作成します。
コマンドを実行する Azure ML パイプライン ステップを作成します。
コンストラクター
CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)
パラメーター
名前 | 説明 |
---|---|
command
|
規定値: None
|
name
|
ステップの名前。 指定しない場合は、 規定値: None
|
compute_target
|
使用するコンピューティング先。 指定しない場合は、 規定値: None
|
runconfig
|
実験でトレーニング実行を送信するために必要な情報をカプセル化するオプションの構成オブジェクト。 規定値: None
|
runconfig_pipeline_params
|
<xref:<xref:{str: PipelineParameter}>>
キーと値のペアをそれぞれ runconfig プロパティの名前を持ち、そのプロパティの PipelineParameter を使用して実行時に runconfig プロパティをオーバーライドします。 サポートされている値: 'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' 規定値: None
|
inputs
|
list[InputPortBinding または
DataReference または
PortDataReference または
PipelineData または
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> または
DatasetConsumptionConfig]
入力ポート バインドの一覧。 規定値: None
|
outputs
|
出力ポート バインドの一覧。 規定値: None
|
params
|
環境変数として "AML_PARAMETER_" で登録された名前と値のペアのディクショナリ。 規定値: None
|
source_directory
|
スクリプト、conda env、および手順で使用されるその他のリソースを含むフォルダー。 規定値: None
|
allow_reuse
|
同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプト/依存関係) と入力とパラメーターが変更されていない場合は、この手順の前の実行からの出力が再利用されます。 ステップを再利用すると、ジョブをコンピューティングに送信する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。 規定値: True
|
version
|
ステップの機能の変更を示すオプションのバージョン タグ。 規定値: None
|
command
必須
|
|
name
必須
|
ステップの名前。 指定しない場合は、 |
compute_target
必須
|
使用するコンピューティング先。 指定しない場合は、 |
runconfig
必須
|
実験でトレーニング実行を送信するために必要な情報をカプセル化するオプションの構成オブジェクト。 |
runconfig_pipeline_params
必須
|
<xref:<xref:{str: PipelineParameter}>>
キーと値のペアをそれぞれ runconfig プロパティの名前を持ち、そのプロパティの PipelineParameter を使用して実行時に runconfig プロパティをオーバーライドします。 サポートされている値: 'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' |
inputs
必須
|
list[InputPortBinding または
DataReference または
PortDataReference または
PipelineData または
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> または
DatasetConsumptionConfig]
入力ポート バインドの一覧。 |
outputs
必須
|
出力ポート バインドの一覧。 |
params
必須
|
環境変数として "AML_PARAMETER_" で登録された名前と値のペアのディクショナリ。 |
source_directory
必須
|
スクリプト、conda env、および手順で使用されるその他のリソースを含むフォルダー。 |
allow_reuse
必須
|
同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプト/依存関係) と入力とパラメーターが変更されていない場合は、この手順の前の実行からの出力が再利用されます。 ステップを再利用すると、ジョブをコンピューティングに送信する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。 |
version
必須
|
ステップの機能の変更を示すオプションのバージョン タグ。 |
注釈
CommandStep は、特定のコンピューティング 先でコマンドを実行するための基本的な組み込み手順です。 コマンドをパラメーターとして、または runconfig などの他のパラメーターから受け取ります。 また、コンピューティング 先、入力、出力などの他の省略可能なパラメーターも受け取ります。 カスタム Docker イメージなど、CommandStep の要件を指定するには、 ScriptRunConfig または RunConfiguration を使用する必要があります。
CommandStep を使用する場合のベスト プラクティスは、実行可能ファイルまたはスクリプト用の別のフォルダーを使用して、ステップに関連付けられている依存ファイルを実行し、そのフォルダーを source_directory
パラメーターで指定することです。 このベスト プラクティスに従う場合、2 つの利点があります。 1 つ目は、ステップに必要なスナップショットのみがスナップショットされるため、ステップ用に作成されるスナップショットのサイズを小さくするのに役立ちます。
次に、スナップショットの再アップロードをトリガーする source_directory
に変更がない場合は、前の実行からのステップの出力を再利用できます。
システム既知のコマンドの場合、 source_directory
は必要ありませんが、ステップに関連付けられている依存ファイルを指定することもできます。
次のコード例は、機械学習トレーニング シナリオで CommandStep を使用する方法を示しています。 Linux でファイルを一覧表示するには:
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='list step',
command='ls -lrt',
compute_target=compute_target)
Python スクリプトを実行するには:
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='train step',
command='python train.py arg1 arg2',
source_directory=project_folder,
compute_target=compute_target)
ScriptRunConfig を使用して Python スクリプトを実行するには:
from azureml.core import ScriptRunConfig
from azureml.pipeline.steps import CommandStep
train_src = ScriptRunConfig(source_directory=script_folder,
command='python train.py arg1 arg2',
environment=my_env)
trainStep = CommandStep(name='train step',
runconfig=train_src)
一般的なパイプラインの作成の詳細については、 https://aka.ms/pl-first-pipeline を参照してください。
メソッド
create_node |
CommandStep のノードを作成し、指定したグラフに追加します。 このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。 |
create_node
CommandStep のノードを作成し、指定したグラフに追加します。
このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。
create_node(graph, default_datastore, context)
パラメーター
名前 | 説明 |
---|---|
graph
必須
|
ノードを追加するグラフ オブジェクト。 |
default_datastore
必須
|
既定のデータストア。 |
context
必須
|
<xref:_GraphContext>
グラフ コンテキスト。 |
戻り値
型 | 説明 |
---|---|
作成されたノード。 |