共用方式為


Module 類別

表示 Azure Machine Learning 管線中使用的計算單位。

模組是將在計算目標上執行的檔案集合,以及介面的描述。 檔案集合可以是腳本、二進位檔,或計算目標上執行所需的任何其他檔案。 模組介面描述輸入、輸出和參數定義。 它不會將它們系結至特定值或數據。 模組具有與其相關聯的快照集,它會擷取為模組定義的檔案集合。

初始化模組。

建構函式

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

參數

名稱 Description
workspace
必要

此 Module 所屬的工作區物件。

module_id
必要
str

模組的標識碼。

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 所屬的工作區物件。

module_id
必要
str

模組的標識碼。

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 而且有兩個輸入和兩個輸出。 create 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可以使用此模組。

下列範例示範如何使用 將管線中使用的數據連線到ModuleVersion PipelineData的輸入和輸出:


   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

將 [模組] 設定為 [作用中]。

get

依名稱或標識碼取得模組;如果未提供例外狀況,則會擲回例外狀況。

get_default

取得預設模組版本。

get_default_version

取得模組的預設版本。

get_versions

取得模組的所有版本。

module_def_builder

建立描述步驟的模組定義物件。

module_version_list

取得模組版本清單。

process_source_directory

處理步驟的來源目錄,並檢查腳本是否存在。

publish

建立ModuleVersion並將它新增至目前的Module。

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

設定Module的描述。

set_name

設定Module的名稱。

create

建立模組。

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

參數

名稱 Description
workspace
必要

要在其中建立模組的工作區。

name
必要
str

模組的名稱。

description
必要
str

模組的描述。

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(僅限內部使用。)工作流程提供者。

預設值: None

傳回

類型 Description

Module 物件

deprecate

將 [模組] 設定為 [已淘汰]。

deprecate()

disable

將 [模組] 設定為 [已停用]。

disable()

enable

將 [模組] 設定為 [作用中]。

enable()

get

依名稱或標識碼取得模組;如果未提供例外狀況,則會擲回例外狀況。

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

參數

名稱 Description
workspace
必要

要在其中建立模組的工作區。

module_id
str

模組的標識碼。

預設值: None
name
str

模組的名稱。

預設值: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(僅限內部使用。)工作流程提供者。

預設值: None

傳回

類型 Description

Module 物件

get_default

取得預設模組版本。

get_default()

傳回

類型 Description

默認模組版本。

get_default_version

取得模組的預設版本。

get_default_version()

傳回

類型 Description
str

模組的預設版本。

get_versions

取得模組的所有版本。

static get_versions(workspace, name, _workflow_provider=None)

參數

名稱 Description
workspace
必要

模組建立的工作區。

name
必要
str

模組的名稱。

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(僅限內部使用。)工作流程提供者。

預設值: None

傳回

類型 Description

清單 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)

參數

名稱 Description
name
必要
str

模組的名稱。

description
必要
str

模組的描述。

execution_type
必要
str

模組的執行類型。

input_bindings
必要

模組輸入系結。

output_bindings
必要

模組輸出系結。

param_defs

Module param 定義。

預設值: 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

傳回

類型 Description

Module def 物件。

例外狀況

類型 Description

module_version_list

取得模組版本清單。

module_version_list()

傳回

類型 Description

清單 ModuleVersionDescriptor

process_source_directory

處理步驟的來源目錄,並檢查腳本是否存在。

static process_source_directory(name, source_directory, script_name)

參數

名稱 Description
name
必要
str

步驟的名稱。

source_directory
必要
str

步驟的來源目錄。

script_name
必要
str

步驟的腳本名稱。

傳回

類型 Description

來源目錄和哈希路徑。

例外狀況

類型 Description

publish

建立ModuleVersion並將它新增至目前的Module。

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
description
必要
str

模組的描述。

execution_type
必要
str

模組的執行類型。 可接受的值為 esCloudadlcloudAzureBatchCloud

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

傳回

類型 Description

例外狀況

類型 Description

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)

參數

名稱 Description
script_name
必要
str

相對於的 ADLA 腳本 source_directory名稱。

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

傳回

類型 Description

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
description
必要
str

模組版本的描述。

compute_target
必要

BatchCompute 計算目標。

inputs
必要

模組輸入系結。

outputs
必要

模組輸出系結。

params

ModuleVersion 參數,做為名稱default_value組。

預設值: None
create_sequencing_ports

指出是否要為模組建立排序埠。

預設值: True
version
str

模組的版本。

預設值: None
is_default

指出已發佈的版本是否為預設版本。

預設值: False
create_pool

指出在執行作業之前是否要建立集區。

預設值: False
pool_id
str

(強制性)作業執行所在的集區標識碼。

預設值: 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

傳回

類型 Description

例外狀況

類型 Description

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)

參數

名稱 Description
script_name
必要
str

相對於的 Python 腳本 source_directory名稱。

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

傳回

類型 Description

resolve

解析並傳回正確的ModuleVersion。

resolve(version=None)

參數

名稱 Description
version
預設值: None

傳回

類型 Description

要使用的模組版本。

set_default_version

設定模組的預設 ModuleVersion。

set_default_version(version_id)

參數

名稱 Description
version_id
必要

傳回

類型 Description
str

默認版本。

例外狀況

類型 Description

set_description

設定Module的描述。

set_description(description)

參數

名稱 Description
description
必要
str

要設定的描述。

例外狀況

類型 Description

set_name

設定Module的名稱。

set_name(name)

參數

名稱 Description
name
必要
str

要設定的名稱。

例外狀況

類型 Description

屬性

default_version

取得模組的預設版本。

傳回

類型 Description
str

默認版本字串。

description

取得模組的描述。

傳回

類型 Description
str

描述字串。

id

取得模組的標識碼。

傳回

類型 Description
str

標識碼。

name

取得模組的名稱。

傳回

類型 Description
str

名稱。

status

取得模組的狀態。

傳回

類型 Description
str

狀態。