Share via


ModuleStep クラス

特定のバージョンのモジュールを実行する Azure Machine Learning パイプライン ステップを作成します。

Module オブジェクトは、スクリプトや実行可能ファイルなどの再利用可能な評価を定義し、これはさまざまな機械学習シナリオで使用したり、さまざまなユーザーが使用したりできます。 パイプラインで特定のバージョンのモジュールを使用するには、ModuleStep を作成します。 ModuleStep は、既存の ModuleVersion を使用するパイプライン内のステップです。

ModuleStep の使用例については、ノートブック https://aka.ms/pl-modulestep を参照してください。

Azure ML パイプライン ステップを作成して、特定のバージョンのモジュールを実行します。

継承
ModuleStep

コンストラクター

ModuleStep(module=None, version=None, module_version=None, inputs_map=None, outputs_map=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, arguments=None, params=None, name=None, _workflow_provider=None)

パラメーター

名前 説明
module

ステップで使用されるモジュール。 module パラメーターまたは module_version パラメーターのいずれかを指定しますが、両方は指定できません。

既定値: None
version
str

ステップで使用されるモジュールのバージョン。

既定値: None
module_version

ステップで使用されるモジュールの ModuleVersion。 module パラメーターまたは module_version パラメーターのいずれかを指定しますが、両方は指定できません。

既定値: None
inputs_map

ModuleVersion のポート定義の名前をステップの入力にマップする辞書。

既定値: None
outputs_map

ModuleVersion のポート定義の名前をステップの出力にマップする辞書。

既定値: None
compute_target

使用するコンピューティング先。 指定されなかった場合は、runconfig のターゲットが使用されます。 コンピューティング先オブジェクト、または、ワークスペース上のコンピューティング先の文字列名を指定できます。 必要に応じて、パイプラインの作成時にコンピューティング先が使用できない場合は、('コンピューティング先の名前'、'コンピューティング先の型') のタプルを指定することにより、コンピューティング先オブジェクトがフェッチされないようにすることもできます (AmlCompute の型は 'AmlCompute' で、RemoteCompute の型は 'VirtualMachine' です)。

既定値: None
runconfig

使用する RunConfiguration (省略可能)。 RunConfiguration を使用すると、conda 依存関係や Docker イメージなどの、実行に関する追加の要件を指定できます。

既定値: None
runconfig_pipeline_params

キーに runconfig プロパティの名前、値にそのプロパティの PipelineParameter を持つキーと値のペアを使用して、実行時に runconfig プロパティをオーバーライドするものです。

サポートされる値は、'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' です。

既定値: None
arguments

Python スクリプト ファイルのコマンド ライン引数のリスト。 引数は、RunConfiguration の引数を介してコンピューティング先に提供されます。 特殊なシンボルなどの引数を処理する方法の詳細については、RunConfiguration の引数を参照してください

既定値: None
params

名前と値の組の辞書。

既定値: None
name
str

ステップの名前。

既定値: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(内部使用のみ)。ワークフロー プロバイダー。

既定値: None
module
必須

ステップで使用されるモジュール。 module パラメーターまたは module_version パラメーターのいずれかを指定しますが、両方は指定できません。

version
必須
str

ステップで使用されるモジュールのバージョン。

module_version
必須

手順で使用したモジュールの ModuleVersion。 module パラメーターまたは module_version パラメーターのいずれかを指定しますが、両方は指定できません。

inputs_map
必須
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, DatasetConsumptionConfig]]

ModuleVersion のポート定義の名前をステップの入力にマップする辞書。

outputs_map
必須
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>]]

ModuleVersion のポート定義の名前をステップの出力にマップする辞書。

compute_target
必須

使用するコンピューティング先。 指定されなかった場合は、runconfig のターゲットが使用されます。 コンピューティング先オブジェクト、または、ワークスペース上のコンピューティング先の文字列名を指定できます。 必要に応じて、パイプラインの作成時にコンピューティング先が使用できない場合は、('コンピューティング先の名前'、'コンピューティング先の型') のタプルを指定することにより、コンピューティング先オブジェクトがフェッチされないようにすることもできます (AmlCompute の型は 'AmlCompute' で、RemoteCompute の型は 'VirtualMachine' です)。

runconfig
必須

使用する RunConfiguration (省略可能)。 RunConfiguration を使用すると、conda 依存関係や Docker イメージなどの、実行に関する追加の要件を指定できます。

runconfig_pipeline_params
必須

キーに runconfig プロパティの名前、値にそのプロパティの PipelineParameter を持つキーと値のペアを使用して、実行時に runconfig プロパティをオーバーライドするものです。

サポートされる値は、'NodeCount'、'MpiProcessCountPerNode'、'TensorflowWorkerCount'、'TensorflowParameterServerCount' です。

arguments
必須

Python スクリプト ファイルのコマンド ライン引数のリスト。 引数は、RunConfiguration の引数を介してコンピューティング先に提供されます。 特殊なシンボルなどの引数を処理する方法の詳細については、RunConfiguration の引数を参照してください

params
必須

名前と値の組の辞書。

name
必須
str

ステップの名前。

_wokflow_provider
必須

(内部使用のみ)。ワークフロー プロバイダー。

注釈

Module は、Azure Machine Learning パイプラインの再利用可能なコンピューティング単位を作成し、管理するために使用されます。 ModuleStep は、モジュールの使用に利用される Azure Machine Learning の組み込みステップです。 使用する ModuleVersion を具体的に定義するか、Module クラスの「注釈」セクションで定義されている解決プロセスに従って、使用する ModuleVersion をAzure Machine Learning に解決させることができます。 送信されたパイプラインで使用される ModuleVersion を定義するには、ModuleStep を作成するときに次のいずれかを定義します。

  • ModuleVersion オブジェクト。

  • Module オブジェクトとバージョン値。

  • バージョン値のない Module オブジェクト。 この場合、バージョンの解決は、送信ごとに異なる場合があります。

また、ModuleStep の入力と出力から ModuleVersion の入力と出力へのマッピングも定義する必要があります。

次の例は、複数の ModuleStep オブジェクトを含むパイプラインの一部として ModuleStep を作成する方法を示しています。


   middle_step = ModuleStep(module=module,
                            inputs_map= middle_step_input_wiring,
                            outputs_map= middle_step_output_wiring,
                            runconfig=RunConfiguration(), compute_target=aml_compute,
                            arguments = ["--file_num1", first_sum, "--file_num2", first_prod,
                                         "--output_sum", middle_sum, "--output_product", middle_prod])

完全なサンプルは、https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb から入手できます

メソッド

create_node

ModuleStep ステップからノードを作成し、指定したグラフに追加します。

このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。

create_node

ModuleStep ステップからノードを作成し、指定したグラフに追加します。

このメソッドは直接使用するためのものではありません。 このステップでパイプラインがインスタンス化されると、Azure ML は、ワークフローを表すパイプライン グラフにステップを追加できるように、このメソッドで必要なパラメーターを自動的に渡します。

create_node(graph, default_datastore, context)

パラメーター

名前 説明
graph
必須

ノードを追加するグラフ オブジェクト。

default_datastore
必須

既定のデータストア。

context
必須
<xref:azureml.pipeline.core._GraphContext>

グラフ コンテキスト。

戻り値

説明

ノード オブジェクト。