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)
參數
名稱 | Description |
---|---|
workspace
必要
|
此 Module 所屬的工作區物件。 |
module_id
必要
|
模組的識別碼。 |
name
必要
|
模組的名稱。 |
description
必要
|
模組的描述。 |
status
必要
|
模組的新狀態:'Active'、'Deprecated'或 'Disabled'。 |
default_version
必要
|
模組的預設版本。 |
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
必要
|
模組的識別碼。 |
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 而且有兩個輸入和兩個輸出。 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")
使用 在不同的步驟中定義管線時, 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}
接著,建立 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 |
將 [模組] 設定為 [已淘汰]。 |
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
必要
|
模組的名稱。 |
description
必要
|
模組的描述。 |
_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
|
模組的識別碼。 預設值: None
|
name
|
模組的名稱。 預設值: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Internal only.) 工作流程提供者。 預設值: None
|
傳回
類型 | Description |
---|---|
Module 物件 |
get_default
get_default_version
get_versions
取得模組的所有版本。
static get_versions(workspace, name, _workflow_provider=None)
參數
名稱 | Description |
---|---|
workspace
必要
|
模組建立所在的工作區。 |
name
必要
|
模組的名稱。 |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Internal only.) 工作流程提供者。 預設值: None
|
傳回
類型 | Description |
---|---|
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
必要
|
模組的名稱。 |
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
|
傳回
類型 | Description |
---|---|
Module def 物件。 |
例外狀況
類型 | Description |
---|---|
module_version_list
process_source_directory
處理步驟的來原始目錄,並檢查腳本是否存在。
static process_source_directory(name, source_directory, script_name)
參數
名稱 | Description |
---|---|
name
必要
|
步驟的名稱。 |
source_directory
必要
|
步驟的來原始目錄。 |
script_name
必要
|
步驟的腳本名稱。 |
傳回
類型 | 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
必要
|
模組的描述。 |
execution_type
必要
|
模組的執行類型。
可接受的值為 |
inputs
必要
|
模組輸入。 |
outputs
必要
|
模組輸出。 |
param_defs
|
Module 參數定義。 預設值: 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
|
傳回
類型 | 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
必要
|
相對於 的 ADLA 腳本 |
description
必要
|
模組版本的描述。 |
inputs
必要
|
模組輸入系結。 |
outputs
必要
|
模組輸出系結。 |
params
|
ModuleVersion 參數,做為名稱default_value組。 預設值: 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
|
傳回
類型 | 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
必要
|
模組版本的描述。 |
compute_target
必要
|
BatchCompute 計算目標。 |
inputs
必要
|
模組輸入系結。 |
outputs
必要
|
模組輸出系結。 |
params
|
ModuleVersion 參數,做為名稱default_value組。 預設值: None
|
create_sequencing_ports
|
指出是否要為模組建立排序埠。 預設值: True
|
version
|
模組的版本。 預設值: None
|
is_default
|
指出已發佈的版本是否為預設版本。 預設值: False
|
create_pool
|
指出在執行作業之前是否要建立集區。 預設值: False
|
pool_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
|
傳回
類型 | 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
必要
|
相對於 的 Python 腳本 |
description
必要
|
模組版本的描述。 |
inputs
必要
|
模組輸入系結。 |
outputs
必要
|
模組輸出系結。 |
params
|
ModuleVersion 參數,做為名稱default_value組。 預設值: 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
|
傳回
類型 | Description |
---|---|
resolve
解析並傳回正確的 ModuleVersion。
resolve(version=None)
參數
名稱 | Description |
---|---|
version
|
預設值: None
|
傳回
類型 | Description |
---|---|
要使用的模組版本。 |
set_default_version
設定模組的預設 ModuleVersion。
set_default_version(version_id)
參數
名稱 | Description |
---|---|
version_id
必要
|
|
傳回
類型 | Description |
---|---|
預設版本。 |
例外狀況
類型 | Description |
---|---|
set_description
設定模組的描述。
set_description(description)
參數
名稱 | Description |
---|---|
description
必要
|
要設定的描述。 |
例外狀況
類型 | Description |
---|---|