CommandStep クラス
コマンドを実行する Azure ML パイプライン ステップを作成します。
コマンドを実行する Azure ML パイプライン ステップを作成します。
- 継承
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseCommandStep
コンストラクター
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)
パラメーター
実行するコマンド。もしくは、実行可能ファイルまたはスクリプトの source_directory
からの相対パス。
runconfig で指定されていない場合、必須です。 1 つの文字列の文字列引数で、または、入力、出力、PipelineParameter を含むリストで指定できます。
- compute_target
- DsvmCompute または AmlCompute または RemoteCompute または HDInsightCompute または str または tuple
使用するコンピューティング先。 指定しない場合、runconfig
からのターゲットが使用されます。 このパラメーターはコンピューティング先オブジェクトとして、またはワークスペース上のコンピューティング先の文字列名として指定できます。
必要に応じて、パイプラインの作成時にコンピューティング先が使用できない場合は、コンピューティング先オブジェクト (AmlCompute 型は 'AmlCompute' で、RemoteCompute 型は 'VirtualMachine') がフェッチされないように ('コンピューティング先名'、'コンピューティング先型') のタプルを指定することもできます。
- runconfig
- ScriptRunConfig または RunConfiguration
実験でトレーニングの実行を送信するために必要な情報をカプセル化する、省略可能な構成オブジェクト。
- runconfig_pipeline_params
- <xref:<xref:{str: PipelineParameter}>>
キーと値のペアを使用して、実行時に runconfig プロパティをオーバーライドします。それぞれに、runconfig プロパティの名前とそのプロパティの PipelineParameter を使用します。
サポートされる値は、'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' です。
- inputs
- list[InputPortBinding または DataReference または PortDataReference または PipelineData または <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> または DatasetConsumptionConfig]
入力ポート バインドのリスト。
- outputs
- list[PipelineData または OutputDatasetConfig または PipelineOutputAbstractDataset または OutputPortBinding]
出力ポート バインドのリスト。
- allow_reuse
- bool
同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプトや依存関係) だけでなく、入力とパラメーターも変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合、計算するジョブを送信する代わりに、前の実行の結果を後続のステップですぐに利用できるようにします。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。
実行するコマンド。もしくは、実行可能ファイルまたはスクリプトの source_directory
からの相対パス。
runconfig で指定されていない場合、必須です。 1 つの文字列の文字列引数で、または、入力、出力、PipelineParameter を含むリストで指定できます。
- compute_target
- DsvmCompute または AmlCompute または RemoteCompute または HDInsightCompute または str または tuple
使用するコンピューティング先。 指定しない場合、runconfig
からのターゲットが使用されます。 このパラメーターはコンピューティング先オブジェクトとして、またはワークスペース上のコンピューティング先の文字列名として指定できます。
必要に応じて、パイプラインの作成時にコンピューティング先が使用できない場合は、コンピューティング先オブジェクト (AmlCompute 型は 'AmlCompute' で、RemoteCompute 型は 'VirtualMachine') がフェッチされないように ('コンピューティング先名'、'コンピューティング先型') のタプルを指定することもできます。
- runconfig_pipeline_params
- <xref:<xref:{str: PipelineParameter}>>
キーと値のペアを使用して、実行時に runconfig プロパティをオーバーライドします。それぞれに、runconfig プロパティの名前とそのプロパティの PipelineParameter を使用します。
サポートされる値は、'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' です。
- inputs
- list[InputPortBinding または DataReference または PortDataReference または PipelineData または <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> または DatasetConsumptionConfig]
入力ポート バインドのリスト。
- outputs
- list[PipelineData または OutputDatasetConfig または PipelineOutputAbstractDataset または OutputPortBinding]
出力ポート バインドのリスト。
- allow_reuse
- bool
同じ設定で再実行されたときに、ステップで前の結果を再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップの内容 (スクリプトや依存関係) だけでなく、入力とパラメーターも変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用する場合、計算するジョブを送信する代わりに、前の実行の結果を後続のステップですぐに利用できるようにします。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。
注釈
CommandStep は、指定したコンピューティング先でコマンドを実行するための基本的な組み込みステップです。 コマンドをパラメーターとして、または runconfig などの他のパラメーターから受け取ります。 コンピューティング先、入力、出力など、その他の省略可能なパラメーターも受け取ります。 カスタム Docker イメージなど、CommandStep の要件を指定するには、ScriptRunConfig または RunConfiguration を使用する必要があります。
CommandStep を使用する場合のベスト プラクティスは、実行する実行可能ファイルまたはスクリプトと、そのステップに関連付けられている依存ファイル用に別のフォルダーを使用し、source_directory
パラメーターでそのフォルダーを指定することです。 このベスト プラクティスに従うと、2 つの利点があります。 まず、ステップに必要なものだけがスナップショットされるため、ステップに対して作成されるスナップショットのサイズを小さくするのに役立ちます。
次に、スナップショットの再アップロードをトリガーする 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)
パラメーター
- context
- <xref:_GraphContext>
グラフ コンテキスト。
戻り値
作成されたノード。
の戻り値の型 :
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示