共用方式為


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
Workspace
必要

此 Module 所屬的工作區物件。

module_id
str
必要

模組的識別碼。

name
str
必要

模組的名稱。

description
str
必要

模組的描述。

status
str
必要

模組的新狀態:'Active'、'Deprecated'或 'Disabled'。

default_version
str
必要

模組的預設版本。

module_version_list
list
必要

ModuleVersionDescriptor 物件的清單。

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
預設值: None

(Internal only.) 模組提供者。

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

(Internal only.) ModuleVersion 提供者。

workspace
Workspace
必要

此 Module 所屬的工作區物件。

module_id
str
必要

模組的識別碼。

name
str
必要

模組的名稱。

description
str
必要

模組的描述。

status
str
必要

模組的新狀態:'Active'、'Deprecated'或 'Disabled'。

default_version
str
必要

模組的預設版本。

module_version_list
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)

參數

workspace
Workspace
必要

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

name
str
必要

模組的名稱。

description
str
必要

模組的描述。

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

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

傳回

Module 物件

傳回類型

deprecate

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

deprecate()

disable

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

disable()

enable

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

enable()

get

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

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

參數

workspace
Workspace
必要

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

module_id
str
預設值: None

模組的識別碼。

name
str
預設值: None

模組的名稱。

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

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

傳回

Module 物件

傳回類型

get_default

取得預設模組版本。

get_default()

傳回

預設模組版本。

傳回類型

get_default_version

取得預設版本的模組。

get_default_version()

傳回

模組的預設版本。

傳回類型

str

get_versions

取得模組的所有版本。

static get_versions(workspace, name, _workflow_provider=None)

參數

workspace
Workspace
必要

模組建立所在的工作區。

name
str
必要

模組的名稱。

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

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

傳回

的清單 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
list
必要

模組輸入系結。

output_bindings
list
必要

模組輸出系結。

param_defs
list
預設值: None

模組參數定義。

create_sequencing_ports
bool
預設值: True

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

allow_reuse
bool
預設值: True

指出模組是否可供重複使用。

version
str
預設值: None

模組的版本。

module_type
str
預設值: None

模組類型。

step_type
str
預設值: None

與此課程模組相關聯的步驟類型,例如 「PythonScriptStep」、「HyperDriveStep」 等。

arguments
list
預設值: None

呼叫此模組時要使用的批註引數清單

runconfig
str
預設值: None

將用於python_script_step的 Runconfig

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

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

inputs
list
必要

模組輸入。

outputs
list
必要

模組輸出。

param_defs
list
預設值: None

Module 參數定義。

create_sequencing_ports
bool
預設值: True

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

version
str
預設值: None

模組的版本。

is_default
bool
預設值: False

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

content_path
str
預設值: None

directory

hash_paths
list
預設值: None

檢查步驟內容的變更時,雜湊的路徑清單。 如果沒有偵測到任何變更,管線將會重複使用先前執行的步驟內容。 根據預設,的內容 source_directory 會雜湊 (,但 .amlignore 或 .gitignore) 中列出的檔案除外。 已淘汰:不再需要。

category
str
預設值: None

模組版本的類別

arguments
list
預設值: None

呼叫模組時要使用的引數。 引數可以是字串、輸入參考 (InputPortDef) 、輸出參考 (OutputPortDef) ,以及管線參數 (PipelineParameter) 。

runconfig
RunConfiguration
預設值: None

選擇性的 RunConfiguration。 RunConfiguration 可用來指定執行的其他需求,例如 conda 相依性和 Docker 映射。

傳回類型

例外狀況

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
list
必要

模組輸入系結。

outputs
list
必要

模組輸出系結。

params
dict
預設值: None

ModuleVersion 參數,做為名稱default_value組。

create_sequencing_ports
bool
預設值: True

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

degree_of_parallelism
int
預設值: None

要用於此作業的平行處理原則程度。

priority
int
預設值: None

要用於目前作業的優先順序值。

runtime_version
str
預設值: None

Azure Data Lake Analytics (ADLA) 引擎的執行時間版本。

compute_target
AdlaCompute, str
預設值: None

要用於此作業的 ADLA 計算。

version
str
預設值: None

模組的版本。

is_default
bool
預設值: False

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

source_directory
str
預設值: None

directory

hash_paths
list
預設值: None

hash_paths

category
str
預設值: None

模組版本的類別

arguments
list
預設值: None

呼叫模組時要使用的引數。 引數可以是字串、輸入參考 (InputPortDef) 、輸出參考 (OutputPortDef) ,以及管線參數 (PipelineParameter) 。

傳回類型

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
BatchComputestr
必要

BatchCompute 計算目標。

inputs
list
必要

模組輸入系結。

outputs
list
必要

模組輸出系結。

params
dict
預設值: None

ModuleVersion 參數,做為名稱default_value組。

create_sequencing_ports
bool
預設值: True

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

version
str
預設值: None

模組的版本。

is_default
bool
預設值: False

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

create_pool
bool
預設值: False

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

pool_id
str
預設值: None

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

delete_batch_job_after_finish
bool
預設值: False

指出是否要在作業完成之後,從 Batch 帳戶中刪除作業。

delete_batch_pool_after_finish
bool
預設值: False

指出作業完成之後是否要刪除集區。

is_positive_exit_code_failure
bool
預設值: True

指出工作是否存在正代碼時,工作是否失敗。

vm_image_urn
str
預設值: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

如果 為 create_pool True 且 VM 使用 VirtualMachineConfiguration,則此參數會指出要使用的 VM 映射。 值格式: urn:publisher:offer:sku 。 範例: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
預設值: False

指出工作是否應該以管理員許可權執行。

target_compute_nodes
int
預設值: 1

如果 為 create_pool True,表示將有多少計算節點新增至集區。

vm_size
str
預設值: standard_d1_v2

如果 create_pool 為 True,表示計算節點的虛擬機器大小。

executable
str
預設值: None

將作為作業一部分執行的命令/可執行檔名稱。

source_directory
str
預設值: None

來原始目錄。

category
str
預設值: None

模組版本的類別

arguments
list
預設值: None

呼叫模組時要使用的引數。 引數可以是字串、輸入參考 (InputPortDef) 、輸出參考 (OutputPortDef) ,以及管線參數 (PipelineParameter) 。

傳回類型

例外狀況

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
list
必要

模組輸入系結。

outputs
list
必要

模組輸出系結。

params
dict
預設值: None

ModuleVersion 參數,做為名稱default_value組。

create_sequencing_ports
bool
預設值: True

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

version
str
預設值: None

模組的版本。

is_default
bool
預設值: False

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

source_directory
str
預設值: None

directory

hash_paths
list
預設值: None

檢查步驟內容的變更時,雜湊的路徑清單。 如果沒有偵測到任何變更,管線將會重複使用先前執行的步驟內容。 根據預設,的內容 source_directory 會雜湊 (,但 .amlignore 或 .gitignore) 中列出的檔案除外。 已淘汰:不再需要。

category
str
預設值: None

模組版本的類別

arguments
list
預設值: None

呼叫模組時要使用的引數。 引數可以是字串、輸入參考 (InputPortDef) 、輸出參考 (OutputPortDef) ,以及管線參數 (PipelineParameter) 。

runconfig
RunConfiguration
預設值: None

選擇性的 RunConfiguration。 RunConfiguration 可用來指定執行的其他需求,例如 conda 相依性和 Docker 映射。

傳回類型

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

設定 Module 的名稱。

set_name(name)

參數

name
str
必要

要設定的名稱。

例外狀況

屬性

default_version

取得模組的預設版本。

傳回

預設版本字串。

傳回類型

str

description

取得模組的描述。

傳回

描述字串。

傳回類型

str

id

取得模組的識別碼。

傳回

識別碼。

傳回類型

str

name

取得模組的名稱。

傳回

名稱。

傳回類型

str

status

取得模組的狀態。

傳回

狀態。

傳回類型

str