Share via


AzureBatchStep 類別

建立 Azure ML 管線步驟,將作業提交至Azure Batch。

注意:此步驟不支援上傳/下載目錄及其內容。

如需使用 AzureBatchStep 的範例,請參閱筆記本 https://aka.ms/pl-azbatch

建立 Azure ML 管線步驟,將作業提交至Azure Batch。

繼承
azureml.pipeline.core._azurebatch_step_base._AzureBatchStepBase
AzureBatchStep

建構函式

AzureBatchStep(name, create_pool=False, pool_id=None, delete_batch_job_after_finish=True, 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', source_directory=None, executable=None, arguments=None, inputs=None, outputs=None, allow_reuse=True, compute_target=None, version=None)

參數

名稱 Description
name
必要
str

[必要]步驟的名稱。

create_pool

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

預設值: False
pool_id
str

[必要]作業執行所在集區的識別碼。 識別碼可以是現有的集區,或提交作業時將建立的集區。

預設值: None
delete_batch_job_after_finish

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

預設值: True
delete_batch_pool_after_finish

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

預設值: False
is_positive_exit_code_failure

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

預設值: True
vm_image_urn
str

如果 create_pool 為 True,且 VM 使用 VirtualMachineConfiguration。 值格式: 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
source_directory
str

包含模組二進位檔、可執行檔、元件等的本機資料夾。

預設值: None
executable
str

[必要]將在作業中執行之命令/可執行檔的名稱。

預設值: None
arguments
str

命令/可執行檔的引數。

預設值: None
inputs

輸入埠系結的清單。 在作業執行之前,會為每個輸入建立資料夾。 每個輸入的檔案都會從儲存體複製到計算節點上的個別資料夾。 例如,如果輸入名稱是 input1,而儲存體上的相對路徑是 一些/relative/path/that/can/be/really/long/inputfile.txt,則計算上的檔案路徑會是: ./input1/inputfile.txt。 當輸入名稱超過 32 個字元時,將會截斷並附加唯一尾碼,以便在計算目標上成功建立資料夾名稱。

預設值: None
outputs

輸出埠系結的清單。 類似于輸入,在作業執行之前,會為每個輸出建立資料夾。 資料夾名稱會與輸出名稱相同。 假設作業會將輸出放入該資料夾中。

預設值: None
allow_reuse

指出當使用相同的設定重新執行時,此步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) 以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,而是立即提供給任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集作為輸入,重複使用取決於資料集的定義是否已變更,而不是基礎資料是否已變更。

預設值: True
compute_target

[必要]執行作業的 BatchCompute 計算。

預設值: None
version
str

選擇性版本戳記,表示模組功能變更。

預設值: None
name
必要
str

[必要]步驟的名稱。

create_pool
必要

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

pool_id
必要
str

[必要]作業執行所在集區的識別碼。 識別碼可以是現有的集區,或提交作業時將建立的集區。

delete_batch_job_after_finish
必要

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

delete_batch_pool_after_finish
必要

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

is_positive_exit_code_failure
必要

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

vm_image_urn
必要
str

如果 create_pool 為 True,且 VM 使用 VirtualMachineConfiguration。 值格式: urn:publisher:offer:sku 。 範例: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
必要

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

target_compute_nodes
必要
int

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

vm_size
必要
str

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

source_directory
必要
str

包含模組二進位檔、可執行檔、元件等的本機資料夾。

executable
必要
str

[必要]將在作業中執行之命令/可執行檔的名稱。

arguments
必要

命令/可執行檔的引數。

inputs
必要

輸入埠系結的清單。 在作業執行之前,會為每個輸入建立資料夾。 每個輸入的檔案都會從儲存體複製到計算節點上的個別資料夾。 例如,如果輸入名稱是 input1,而儲存體上的相對路徑是 一些/relative/path/that/can/be/really/long/inputfile.txt,則計算上的檔案路徑會是: ./input1/inputfile.txt。 如果輸入名稱超過 32 個字元,則會截斷並附加唯一尾碼,因此可以在計算上成功建立資料夾名稱。

outputs
必要

輸出埠系結的清單。 類似于輸入,在作業執行之前,會為每個輸出建立資料夾。 資料夾名稱會與輸出名稱相同。 假設作業將具有該資料夾中的輸出。

allow_reuse
必要

指出當使用相同的設定重新執行時,此步驟是否應該重複使用先前的結果。 預設會啟用重複使用。 如果步驟內容 (腳本/相依性) 以及輸入和參數保持不變,則會重複使用此步驟上一次執行的輸出。 重複使用步驟時,不會提交要計算的作業,而是立即提供給任何後續步驟使用上一次執行的結果。 如果您使用 Azure Machine Learning 資料集作為輸入,重複使用取決於資料集的定義是否已變更,而不是基礎資料是否已變更。

compute_target
必要

[必要]執行作業的 BatchCompute 計算。

version
必要
str

選擇性版本戳記,表示模組功能變更。

備註

下列範例示範如何在 Azure Machine Learning 管線中使用 AzureBatchStep。


   step = AzureBatchStep(
               name="Azure Batch Job",
               pool_id="MyPoolName", # Replace this with the pool name of your choice
               inputs=[testdata],
               outputs=[outputdata],
               executable="azurebatch.cmd",
               arguments=[testdata, outputdata],
               compute_target=batch_compute,
               source_directory=binaries_folder,
   )

完整範例可從 https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-azurebatch-to-run-a-windows-executable.ipynb

方法

create_node

從 AzureBatch 步驟建立節點,並將其新增至指定的圖形。

這個方法不適合直接使用。 使用此步驟具現化管線時,Azure ML 會自動傳遞透過此方法所需的參數,以便將步驟新增至代表工作流程的管線圖形。

create_node

從 AzureBatch 步驟建立節點,並將其新增至指定的圖形。

這個方法不適合直接使用。 使用此步驟具現化管線時,Azure ML 會自動傳遞透過此方法所需的參數,以便將步驟新增至代表工作流程的管線圖形。

create_node(graph, default_datastore, context)

參數

名稱 Description
graph
必要

要加入節點的繪圖物件。

default_datastore
必要

預設資料存放區。

context
必要
<xref:azureml.pipeline.core._GraphContext>

圖形內容。

傳回

類型 Description

已建立的節點。