Module クラス

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

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

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

コンストラクター

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

モジュールを "非推奨" に設定します。

disable

モジュールを "無効" に設定します。

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

戻り値

型 説明

Module オブジェクト

deprecate

モジュールを "非推奨" に設定します。

deprecate()

disable

モジュールを "無効" に設定します。

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

戻り値

型 説明

Module オブジェクト

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

戻り値

型 説明

Module 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

モジュールの実行の種類。 使用可能な値は、 esCloud、 adlcloud 、および AzureBatchCloud

inputs
必須

モジュールの入力。

outputs
必須

モジュールが出力されます。

param_defs

Module パラメーターの定義。

規定値: None
create_sequencing_ports

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

規定値: True
version
str

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

規定値: None
is_default

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

規定値: False
content_path
str

ディレクトリ

規定値: 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

source_directoryを基準とした ADLA スクリプトの名前。

description
必須
str

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

inputs
必須

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

outputs
必須

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

params

ModuleVersion パラメーター (名前とdefault_valueのペア)。

規定値: 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

ディレクトリ

規定値: 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

ModuleVersion パラメーター (名前とdefault_valueのペア)。

規定値: 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

source_directoryを基準とした Python スクリプトの名前。

description
必須
str

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

inputs
必須

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

outputs
必須

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

params

ModuleVersion パラメーター (名前とdefault_valueのペア)。

規定値: None
create_sequencing_ports

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

規定値: True
version
str

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

規定値: None
is_default

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

規定値: False
source_directory
str

ディレクトリ

規定値: 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

状態。