Module クラス
Azure Machine Learning パイプラインで使用される計算単位を表します。
モジュールは、コンピューティング先で実行されるファイルのコレクションであり、インターフェイスの記述です。 ファイルのコレクションには、スクリプト、バイナリ、またはコンピューティング先で実行するために必要なその他のファイルを指定できます。 モジュール インターフェイスは、入力、出力、およびパラメーターの定義を記述します。 特定の値やデータにはバインドしません。 モジュールにはスナップショットが関連付けられており、モジュールに対して定義されたファイルのコレクションがキャプチャされます。
モジュールを初期化します。
- 継承
-
builtins.objectModule
コンストラクター
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
このモジュールが属するワークスペース オブジェクト。 |
module_id
必須
|
モジュールの ID。 |
name
必須
|
モジュールの名前。 |
description
必須
|
モジュールの説明。 |
status
必須
|
モジュールの新しいステータス: 'Active'、'Deprecated'、または 'Disabled'。 |
default_version
必須
|
モジュールの既定のバージョン。 |
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
必須
|
モジュールの ID。 |
name
必須
|
モジュールの名前。 |
description
必須
|
モジュールの説明。 |
status
必須
|
モジュールの新しいステータス: 'Active'、'Deprecated'、または 'Disabled'。 |
default_version
必須
|
モジュールの既定のバージョン。 |
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")
このモジュールは、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}
その後、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])
使用するモジュールのバージョンの解決は送信時に行われ、次のプロセスに従います。
- 無効になっているすべてのバージョンを削除します
- 特定のバージョンが指定されている場合は、そのバージョンを使用します
- 既定のバージョンがモジュールに定義されている場合は、そのバージョンを使用します
- すべてのバージョンが文字を使用しないセマンティック バージョン管理に従っている場合は、最高の値を取得します
- 最後に更新されたモジュールのバージョンを取得します
モジュールの入力と出力へのノードの入力と出力のマッピングはパイプラインの作成時に定義されるため、送信時に解決されたバージョンがパイプラインの作成時に解決されたバージョンとは異なるインターフェイスを持つ場合、パイプラインの送信は失敗します。
基になるモジュールは、既定のバージョンを同じに保ちながら、新しいバージョンで更新できます。
モジュールには、ワークスペース内で一意に名前が付けられます。
メソッド
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
必須
|
モジュールの名前。 |
description
必須
|
モジュールの説明。 |
_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
|
モジュールの ID。 規定値: None
|
name
|
モジュールの名前。 規定値: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(内部使用のみ)。ワークフロー プロバイダー。 規定値: None
|
戻り値
型 | 説明 |
---|---|
モジュール オブジェクト |
get_default
get_default_version
get_versions
モジュールのすべてのバージョンを取得します。
static get_versions(workspace, name, _workflow_provider=None)
パラメーター
名前 | 説明 |
---|---|
workspace
必須
|
モジュールが作成されたワークスペース。 |
name
必須
|
モジュールの名前。 |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(内部使用のみ)。ワークフロー プロバイダー。 規定値: None
|
戻り値
型 | 説明 |
---|---|
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
必須
|
モジュールの名前。 |
description
必須
|
モジュールの説明。 |
execution_type
必須
|
モジュールの実行の種類。 |
input_bindings
必須
|
モジュール入力バインド。 |
output_bindings
必須
|
モジュール出力バインド。 |
param_defs
|
モジュール パラメーターの定義。 規定値: None
|
create_sequencing_ports
|
シーケンス処理ポートをモジュールに作成するかどうかを示します。 規定値: True
|
allow_reuse
|
モジュールを再利用できるかどうかを示します。 規定値: True
|
version
|
モジュールのバージョン。 規定値: None
|
module_type
|
モジュールの種類。 規定値: None
|
step_type
|
このモジュールに関連付けられているステップの種類 (例: "PythonScriptStep"、"HyperDriveStep")。 規定値: None
|
arguments
|
このモジュールを呼び出す際に使用する注釈付き引数リスト 規定値: None
|
runconfig
|
python_script_step に使用される runconfig 規定値: None
|
cloud_settings
|
クラウドに使用される設定 規定値: None
|
戻り値
型 | 説明 |
---|---|
モジュールの def オブジェクト。 |
例外
型 | 説明 |
---|---|
module_version_list
process_source_directory
ステップのソース ディレクトリを処理し、スクリプトが存在することを検査します。
static process_source_directory(name, source_directory, script_name)
パラメーター
名前 | 説明 |
---|---|
name
必須
|
ステップの名前。 |
source_directory
必須
|
ステップのソース ディレクトリ。 |
script_name
必須
|
ステップのスクリプト名。 |
戻り値
型 | 説明 |
---|---|
ソース ディレクトリとハッシュ パス。 |
例外
型 | 説明 |
---|---|
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
必須
|
モジュールの説明。 |
execution_type
必須
|
モジュールの実行の種類。
使用できる値は、 |
inputs
必須
|
モジュールの入力。 |
outputs
必須
|
モジュールの出力。 |
param_defs
|
モジュール パラメーターの定義。 規定値: None
|
create_sequencing_ports
|
シーケンス処理ポートをモジュールに作成するかどうかを示します。 規定値: True
|
version
|
モジュールのバージョン。 規定値: None
|
is_default
|
発行されたバージョンを既定のバージョンにするかどうかを示します。 規定値: False
|
content_path
|
directory 規定値: None
|
hash_paths
|
ステップの内容の変更を確認するときにハッシュするパスのリスト。 変更が検出されない場合、パイプラインは前の実行のステップの内容を再利用します。 既定では、 規定値: None
|
category
|
モジュール バージョンのカテゴリ 規定値: 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
必須
|
ADLA スクリプトの名前 ( |
description
必須
|
モジュール バージョンの説明。 |
inputs
必須
|
モジュール入力バインド。 |
outputs
必須
|
モジュール出力バインド。 |
params
|
name と default_value のペアとしての ModuleVersion パラメーター。 規定値: None
|
create_sequencing_ports
|
シーケンス処理ポートをモジュールに作成するかどうかを示します。 規定値: True
|
degree_of_parallelism
|
このジョブに使用する並列処理の次数。 規定値: None
|
priority
|
現在のジョブに使用する優先度の値。 規定値: None
|
runtime_version
|
Azure Data Lake Analytics (ADLA) エンジンのランタイム バージョン。 規定値: None
|
compute_target
|
このジョブに使用する ADLA コンピューティング。 規定値: None
|
version
|
モジュールのバージョン。 規定値: None
|
is_default
|
発行されたバージョンを既定のバージョンにするかどうかを示します。 規定値: False
|
source_directory
|
directory 規定値: None
|
hash_paths
|
hash_paths 規定値: None
|
category
|
モジュール バージョンのカテゴリ 規定値: 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
必須
|
モジュール バージョンの説明。 |
compute_target
必須
|
BatchCompute または
str
BatchCompute コンピューティング ターゲット。 |
inputs
必須
|
モジュール入力バインド。 |
outputs
必須
|
モジュール出力バインド。 |
params
|
name と default_value のペアとしての ModuleVersion パラメーター。 規定値: None
|
create_sequencing_ports
|
シーケンス処理ポートをモジュールに作成するかどうかを示します。 規定値: True
|
version
|
モジュールのバージョン。 規定値: None
|
is_default
|
発行されたバージョンを既定のバージョンにするかどうかを示します。 規定値: False
|
create_pool
|
ジョブを実行する前にプールを作成するかどうかを示します。 規定値: False
|
pool_id
|
(必須) ジョブが実行されるプールの ID。 規定値: None
|
delete_batch_job_after_finish
|
ジョブの完了後に Batch アカウントからそのジョブを削除するかどうかを示します。 規定値: 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
|
モジュールを呼び出す際に使用する引数。 引数には、文字列、入力参照 (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
必須
|
Python スクリプトの名前 ( |
description
必須
|
モジュール バージョンの説明。 |
inputs
必須
|
モジュール入力バインド。 |
outputs
必須
|
モジュール出力バインド。 |
params
|
name と default_value のペアとしての ModuleVersion パラメーター。 規定値: None
|
create_sequencing_ports
|
シーケンス処理ポートをモジュールに作成するかどうかを示します。 規定値: True
|
version
|
モジュールのバージョン。 規定値: None
|
is_default
|
発行されたバージョンを既定のバージョンにするかどうかを示します。 規定値: False
|
source_directory
|
directory 規定値: None
|
hash_paths
|
ステップの内容の変更を確認するときにハッシュするパスのリスト。 変更が検出されない場合、パイプラインは前の実行のステップの内容を再利用します。 既定では、 規定値: None
|
category
|
モジュール バージョンのカテゴリ 規定値: 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
必須
|
|
戻り値
型 | 説明 |
---|---|
既定のバージョン。 |
例外
型 | 説明 |
---|---|
set_description
モジュールの説明を設定します。
set_description(description)
パラメーター
名前 | 説明 |
---|---|
description
必須
|
設定する説明。 |
例外
型 | 説明 |
---|---|