Module クラス

Azure Machine Learning パイプラインで使用される計算単位を表します。

モジュールは、コンピューティング先で実行されるファイルのコレクションであり、インターフェイスの記述です。 ファイルのコレクションには、スクリプト、バイナリ、またはコンピューティング先で実行するために必要なその他のファイルを指定できます。 モジュール インターフェイスは、入力、出力、およびパラメーターの定義を記述します。 特定の値やデータにはバインドしません。 モジュールにはスナップショットが関連付けられており、モジュールに対して定義されたファイルのコレクションがキャプチャされます。

モジュールを初期化します。

継承
builtins.object
Module

コンストラクター

Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)

パラメーター

workspace
Workspace
必須

このモジュールが属するワークスペース オブジェクト。

module_id
str
必須

モジュールの ID。

name
str
必須

モジュールの名前。

description
str
必須

モジュールの説明。

status
str
必須

モジュールの新しいステータス: 'Active'、'Deprecated'、または 'Disabled'。

default_version
str
必須

モジュールの既定のバージョン。

module_version_list
list
必須

ModuleVersionDescriptor オブジェクトのリスト。

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
既定値: None

(内部使用のみ)。モジュール プロバイダー。

_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
既定値: None

(内部使用のみ)。ModuleVersion プロバイダー。

workspace
Workspace
必須

このモジュールが属するワークスペース オブジェクト。

module_id
str
必須

モジュールの ID。

name
str
必須

モジュールの名前。

description
str
必須

モジュールの説明。

status
str
必須

モジュールの新しいステータス: 'Active'、'Deprecated'、または 'Disabled'。

default_version
str
必須

モジュールの既定のバージョン。

module_version_list
list
必須

ModuleVersionDescriptor オブジェクトのリスト。

_module_provider
<xref:<xref:_AevaMlModuleProvider object>>
必須

モジュール プロバイダー。

_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
必須

ModuleVersion プロバイダー。

注釈

モジュールは、そのバージョンのコンテナーとして機能します。 次の例では、ModuleVersion が publish_python_script メソッドから作成され、2 つの入力と 2 つの出力があります。 作成される ModuleVersion は既定のバージョンです (is_default が True に設定されます)。


   out_sum = OutputPortDef(name="out_sum", default_datastore_name=datastore.name, default_datastore_mode="mount",
                           label="Sum of two numbers")
   out_prod = OutputPortDef(name="out_prod", default_datastore_name=datastore.name, default_datastore_mode="mount",
                            label="Product of two numbers")
   entry_version = module.publish_python_script("calculate.py", "initial",
                                                inputs=[], outputs=[out_sum, out_prod], params = {"initialNum":12},
                                                version="1", source_directory="./calc")

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

このモジュールは、ModuleStep を使用して異なる手順でパイプラインを定義するときに使用できます。

次のサンプルは、PipelineData を使用して、パイプラインで使用されるデータを ModuleVersion の入力と出力に接続する方法を示しています。


   middle_step_input_wiring = {"in1":first_sum, "in2":first_prod}
   middle_sum = PipelineData("middle_sum", datastore=datastore, output_mode="mount",is_directory=False)
   middle_prod = PipelineData("middle_prod", datastore=datastore, output_mode="mount",is_directory=False)
   middle_step_output_wiring = {"out_sum":middle_sum, "out_prod":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 から入手できます

その後、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

モジュールを作成します。

deprecate

モジュールを 'Deprecated' に設定します。

disable

モジュールを 'Disabled' に設定します。

enable

モジュールを 'Active' に設定します。

get

名前または ID でモジュールを取得します。どちらも指定されていない場合、例外をスローします。

get_default

既定のモジュール バージョンを取得します。

get_default_version

モジュールの既定のバージョンを取得します。

get_versions

モジュールのすべてのバージョンを取得します。

module_def_builder

ステップを記述するモジュール定義オブジェクトを作成します。

module_version_list

モジュールのバージョンの一覧を取得します。

process_source_directory

ステップのソース ディレクトリを処理し、スクリプトが存在することを検査します。

publish

ModuleVersion を作成し、現在のモジュールに追加します。

publish_adla_script

Azure Data Lake Analytics (ADLA) に基づいて ModuleVersion を作成し、それを現在のモジュールに追加します。

publish_azure_batch

Azure バッチを使用する ModuleVersion を作成し、それを現在のモジュールに追加します。

publish_python_script

Python スクリプトに基づく ModuleVersion を作成し、それを現在のモジュールに追加します。

resolve

適切な ModuleVersion を解決して返します。

set_default_version

モジュールの既定の ModuleVersion を設定します。

set_description

モジュールの説明を設定します。

set_name

モジュールの名前を設定します。

create

モジュールを作成します。

static create(workspace, name, description, _workflow_provider=None)

パラメーター

workspace
Workspace
必須

モジュールを作成するワークスペース。

name
str
必須

モジュールの名前。

description
str
必須

モジュールの説明。

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

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

戻り値

モジュール オブジェクト

の戻り値の型 :

deprecate

モジュールを 'Deprecated' に設定します。

deprecate()

disable

モジュールを 'Disabled' に設定します。

disable()

enable

モジュールを 'Active' に設定します。

enable()

get

名前または ID でモジュールを取得します。どちらも指定されていない場合、例外をスローします。

static get(workspace, module_id=None, name=None, _workflow_provider=None)

パラメーター

workspace
Workspace
必須

モジュールを作成するワークスペース。

module_id
str
既定値: None

モジュールの ID。

name
str
既定値: None

モジュールの名前。

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

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

戻り値

モジュール オブジェクト

の戻り値の型 :

get_default

既定のモジュール バージョンを取得します。

get_default()

戻り値

既定のモジュール バージョン。

の戻り値の型 :

get_default_version

モジュールの既定のバージョンを取得します。

get_default_version()

戻り値

モジュールの既定のバージョン。

の戻り値の型 :

str

get_versions

モジュールのすべてのバージョンを取得します。

static get_versions(workspace, name, _workflow_provider=None)

パラメーター

workspace
Workspace
必須

モジュールが作成されたワークスペース。

name
str
必須

モジュールの名前。

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

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

戻り値

ModuleVersionDescriptor の一覧

の戻り値の型 :

module_def_builder

ステップを記述するモジュール定義オブジェクトを作成します。

static module_def_builder(name, description, execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, step_type=None, arguments=None, runconfig=None, cloud_settings=None)

パラメーター

name
str
必須

モジュールの名前。

description
str
必須

モジュールの説明。

execution_type
str
必須

モジュールの実行の種類。

input_bindings
list
必須

モジュール入力バインド。

output_bindings
list
必須

モジュール出力バインド。

param_defs
list
既定値: None

モジュール パラメーターの定義。

create_sequencing_ports
bool
既定値: True

シーケンス処理ポートをモジュールに作成するかどうかを示します。

allow_reuse
bool
既定値: True

モジュールを再利用できるかどうかを示します。

version
str
既定値: None

モジュールのバージョン。

module_type
str
既定値: None

モジュールの種類。

step_type
str
既定値: None

このモジュールに関連付けられているステップの種類 (例: "PythonScriptStep"、"HyperDriveStep")。

arguments
list
既定値: None

このモジュールを呼び出す際に使用する注釈付き引数リスト

runconfig
str
既定値: None

python_script_step に使用される runconfig

cloud_settings
str
既定値: None

クラウドに使用される設定

戻り値

モジュールの def オブジェクト。

の戻り値の型 :

例外

module_version_list

モジュールのバージョンの一覧を取得します。

module_version_list()

戻り値

ModuleVersionDescriptor の一覧

の戻り値の型 :

process_source_directory

ステップのソース ディレクトリを処理し、スクリプトが存在することを検査します。

static process_source_directory(name, source_directory, script_name)

パラメーター

name
str
必須

ステップの名前。

source_directory
str
必須

ステップのソース ディレクトリ。

script_name
str
必須

ステップのスクリプト名。

戻り値

ソース ディレクトリとハッシュ パス。

の戻り値の型 :

例外

publish

ModuleVersion を作成し、現在のモジュールに追加します。

publish(description, execution_type, inputs, outputs, param_defs=None, create_sequencing_ports=True, version=None, is_default=False, content_path=None, hash_paths=None, category=None, arguments=None, runconfig=None)

パラメーター

description
str
必須

モジュールの説明。

execution_type
str
必須

モジュールの実行の種類。 使用できる値は、esCloudadlcloud、および AzureBatchCloud です

inputs
list
必須

モジュールの入力。

outputs
list
必須

モジュールの出力。

param_defs
list
既定値: None

モジュール パラメーターの定義。

create_sequencing_ports
bool
既定値: True

シーケンス処理ポートをモジュールに作成するかどうかを示します。

version
str
既定値: None

モジュールのバージョン。

is_default
bool
既定値: False

発行されたバージョンを既定のバージョンにするかどうかを示します。

content_path
str
既定値: None

directory

hash_paths
list
既定値: None

ステップの内容の変更を確認するときにハッシュするパスのリスト。 変更が検出されない場合、パイプラインは前の実行のステップの内容を再利用します。 既定では、source_directory の内容は .amlignore または .gitignore に示されているファイルを除いてハッシュされます。 非推奨: 不要になりました。

category
str
既定値: None

モジュール バージョンのカテゴリ

arguments
list
既定値: None

モジュールを呼び出す際に使用する引数。 引数には、文字列、入力参照 (InputPortDef)、出力参照 (OutputPortDef)、およびパイプライン パラメーター (PipelineParameter) を指定できます。

runconfig
RunConfiguration
既定値: None

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

の戻り値の型 :

例外

publish_adla_script

Azure Data Lake Analytics (ADLA) に基づいて ModuleVersion を作成し、それを現在のモジュールに追加します。

publish_adla_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, degree_of_parallelism=None, priority=None, runtime_version=None, compute_target=None, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None)

パラメーター

script_name
str
必須

ADLA スクリプトの名前 (source_directory からの相対名)。

description
str
必須

モジュール バージョンの説明。

inputs
list
必須

モジュール入力バインド。

outputs
list
必須

モジュール出力バインド。

params
dict
既定値: None

name と default_value のペアとしての ModuleVersion パラメーター。

create_sequencing_ports
bool
既定値: True

シーケンス処理ポートをモジュールに作成するかどうかを示します。

degree_of_parallelism
int
既定値: None

このジョブに使用する並列処理の次数。

priority
int
既定値: None

現在のジョブに使用する優先度の値。

runtime_version
str
既定値: None

Azure Data Lake Analytics (ADLA) エンジンのランタイム バージョン。

compute_target
AdlaCompute, str
既定値: None

このジョブに使用する ADLA コンピューティング。

version
str
既定値: None

モジュールのバージョン。

is_default
bool
既定値: False

発行されたバージョンを既定のバージョンにするかどうかを示します。

source_directory
str
既定値: None

directory

hash_paths
list
既定値: None

hash_paths

category
str
既定値: None

モジュール バージョンのカテゴリ

arguments
list
既定値: None

モジュールを呼び出す際に使用する引数。 引数には、文字列、入力参照 (InputPortDef)、出力参照 (OutputPortDef)、およびパイプライン パラメーター (PipelineParameter) を指定できます。

の戻り値の型 :

publish_azure_batch

Azure バッチを使用する ModuleVersion を作成し、それを現在のモジュールに追加します。

publish_azure_batch(description, compute_target, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, create_pool=False, pool_id=None, delete_batch_job_after_finish=False, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', executable=None, source_directory=None, category=None, arguments=None)

パラメーター

description
str
必須

モジュール バージョンの説明。

compute_target
BatchCompute または str
必須

BatchCompute コンピューティング ターゲット。

inputs
list
必須

モジュール入力バインド。

outputs
list
必須

モジュール出力バインド。

params
dict
既定値: None

name と default_value のペアとしての ModuleVersion パラメーター。

create_sequencing_ports
bool
既定値: True

シーケンス処理ポートをモジュールに作成するかどうかを示します。

version
str
既定値: None

モジュールのバージョン。

is_default
bool
既定値: False

発行されたバージョンを既定のバージョンにするかどうかを示します。

create_pool
bool
既定値: False

ジョブを実行する前にプールを作成するかどうかを示します。

pool_id
str
既定値: None

(必須) ジョブが実行されるプールの ID。

delete_batch_job_after_finish
bool
既定値: False

ジョブの完了後に Batch アカウントからそのジョブを削除するかどうかを示します。

delete_batch_pool_after_finish
bool
既定値: False

ジョブの完了後にプールを削除するかどうかを示します。

is_positive_exit_code_failure
bool
既定値: True

タスクが正のコードで終了した場合にジョブが失敗するかどうかを示します。

vm_image_urn
str
既定値: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

create_pool が True で、かつ VM で VirtualMachineConfiguration が使用される場合、このパラメーターは使用する VM イメージを示します。 値の形式: urn:publisher:offer:sku。 例: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
既定値: False

タスクを管理特権で実行する必要があるかどうかを示します。

target_compute_nodes
int
既定値: 1

create_pool が True の場合は、プールに追加される計算ノードの数を示します。

vm_size
str
既定値: standard_d1_v2

create_pool が True の場合は、仮想マシンにおける計算ノードのサイズを示します。

executable
str
既定値: None

ジョブの一部として実行されるコマンドまたは実行可能ファイルの名前。

source_directory
str
既定値: None

ソース ディレクトリ。

category
str
既定値: None

モジュール バージョンのカテゴリ

arguments
list
既定値: None

モジュールを呼び出す際に使用する引数。 引数には、文字列、入力参照 (InputPortDef)、出力参照 (OutputPortDef)、およびパイプライン パラメーター (PipelineParameter) を指定できます。

の戻り値の型 :

例外

publish_python_script

Python スクリプトに基づく ModuleVersion を作成し、それを現在のモジュールに追加します。

publish_python_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None, runconfig=None)

パラメーター

script_name
str
必須

Python スクリプトの名前 (source_directory からの相対名)。

description
str
必須

モジュール バージョンの説明。

inputs
list
必須

モジュール入力バインド。

outputs
list
必須

モジュール出力バインド。

params
dict
既定値: None

name と default_value のペアとしての ModuleVersion パラメーター。

create_sequencing_ports
bool
既定値: True

シーケンス処理ポートをモジュールに作成するかどうかを示します。

version
str
既定値: None

モジュールのバージョン。

is_default
bool
既定値: False

発行されたバージョンを既定のバージョンにするかどうかを示します。

source_directory
str
既定値: None

directory

hash_paths
list
既定値: None

ステップの内容の変更を確認するときにハッシュするパスのリスト。 変更が検出されない場合、パイプラインは前の実行のステップの内容を再利用します。 既定では、source_directory の内容は .amlignore または .gitignore に示されているファイルを除いてハッシュされます。 非推奨: 不要になりました。

category
str
既定値: None

モジュール バージョンのカテゴリ

arguments
list
既定値: None

モジュールを呼び出す際に使用する引数。 引数には、文字列、入力参照 (InputPortDef)、出力参照 (OutputPortDef)、およびパイプライン パラメーター (PipelineParameter) を指定できます。

runconfig
RunConfiguration
既定値: None

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

の戻り値の型 :

resolve

適切な ModuleVersion を解決して返します。

resolve(version=None)

パラメーター

version
既定値: None

戻り値

使用するモジュールのバージョン。

の戻り値の型 :

set_default_version

モジュールの既定の ModuleVersion を設定します。

set_default_version(version_id)

パラメーター

version_id
必須

戻り値

既定のバージョン。

の戻り値の型 :

str

例外

set_description

モジュールの説明を設定します。

set_description(description)

パラメーター

description
str
必須

設定する説明。

例外

set_name

モジュールの名前を設定します。

set_name(name)

パラメーター

name
str
必須

設定する名前。

例外

属性

default_version

モジュールの既定のバージョンを取得します。

戻り値

既定のバージョン文字列。

の戻り値の型 :

str

description

モジュールの説明を取得します。

戻り値

説明文字列。

の戻り値の型 :

str

id

モジュールの ID を取得します。

戻り値

ID。

の戻り値の型 :

str

name

モジュールの名前を取得します。

戻り値

名前。

の戻り値の型 :

str

status

モジュールのステータスを取得します。

戻り値

ステータス。

の戻り値の型 :

str