Share via


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

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

module_id
必須
str

モジュールの ID。

name
必須
str

モジュールの名前。

description
必須
str

モジュールの説明。

status
必須
str

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

default_version
必須
str

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

module_version_list
必須

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

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>

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

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

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

既定値: None
workspace
必須

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

module_id
必須
str

モジュールの ID。

name
必須
str

モジュールの名前。

description
必須
str

モジュールの説明。

status
必須
str

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

default_version
必須
str

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

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

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

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

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

module_id
str

モジュールの ID。

既定値: None
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
必須

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

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

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

output_bindings
必須

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

param_defs

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

既定値: None
create_sequencing_ports

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

既定値: True
allow_reuse

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

既定値: True
version
str

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

既定値: None
module_type
str

モジュールの種類。

既定値: None
step_type
str

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

既定値: None
arguments

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

既定値: None
runconfig
str

python_script_step に使用される runconfig

既定値: None
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
必須

モジュールの入力。

outputs
必須

モジュールの出力。

param_defs

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

既定値: None
create_sequencing_ports

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

既定値: True
version
str

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

既定値: None
is_default

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

既定値: False
content_path
str

directory

既定値: None
hash_paths

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

既定値: None
category
str

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

既定値: None
arguments

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

既定値: None
runconfig

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

既定値: None

戻り値

説明

例外

説明

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

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

outputs
必須

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

params

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

既定値: None
create_sequencing_ports

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

既定値: True
degree_of_parallelism
int

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

既定値: None
priority
int

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

既定値: None
runtime_version
str

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

既定値: None
compute_target

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

既定値: None
version
str

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

既定値: None
is_default

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

既定値: False
source_directory
str

directory

既定値: None
hash_paths

hash_paths

既定値: None
category
str

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

既定値: None
arguments

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

既定値: None

戻り値

説明

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

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

outputs
必須

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

params

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

既定値: None
create_sequencing_ports

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

既定値: True
version
str

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

既定値: None
is_default

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

既定値: False
create_pool

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

既定値: False
pool_id
str

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

既定値: None
delete_batch_job_after_finish

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

既定値: False
delete_batch_pool_after_finish

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

既定値: False
is_positive_exit_code_failure

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

既定値: True
vm_image_urn
str

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

既定値: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

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

既定値: False
target_compute_nodes
int

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

既定値: 1
vm_size
str

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

既定値: standard_d1_v2
executable
str

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

既定値: None
source_directory
str

ソース ディレクトリ。

既定値: None
category
str

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

既定値: None
arguments

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

既定値: None

戻り値

説明

例外

説明

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

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

outputs
必須

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

params

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

既定値: None
create_sequencing_ports

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

既定値: True
version
str

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

既定値: None
is_default

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

既定値: False
source_directory
str

directory

既定値: None
hash_paths

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

既定値: None
category
str

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

既定値: None
arguments

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

既定値: None
runconfig

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

既定値: None

戻り値

説明

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 を取得します。

戻り値

説明
str

ID。

name

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

戻り値

説明
str

名前。

status

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

戻り値

説明
str

ステータス。