共用方式為


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)

參數

名稱 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>

(Internal only.) 模組提供者。

預設值: None
_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>

(Internal only.) 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 並將它新增至目前的模組。

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

設定 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>

(Internal only.) 工作流程提供者。

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

(Internal only.) 工作流程提供者。

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

(Internal only.) 工作流程提供者。

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

模組參數定義。

預設值: 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 並將它新增至目前的模組。

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

directory

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

directory

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

directory

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

設定模組的描述。

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

狀態。