共用方式為


PipelineStep 類別

表示 Azure Machine Learning 管線中的執行步驟。

管線是從多個管線步驟建構的,這是管線中相異的計算單位。 每個步驟都可以獨立執行,並使用隔離的計算資源。 每個步驟通常都有自己的具名輸入、輸出和參數。

PipelineStep 類別是基類,其設計用於常見案例的其他內建步驟類別會繼承 ,例如 PythonScriptStepDataTransferStepHyperDriveStep

如需 Pipelines 和 PipelineSteps 關聯方式的概觀,請參閱 什麼是 ML 管線

初始化 PipelineStep。

建構函式

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

參數

名稱 Description
name
必要
str

管線步驟的名稱。

inputs
必要

步驟輸入的清單。

outputs
必要

步驟輸出的清單。

arguments

選擇性的自變數清單,以傳遞至步驟中使用的腳本。

預設值: None
fix_port_name_collisions

指定是否要修正名稱衝突。 如果 True 和輸入和輸出具有相同的名稱,則輸入前面會加上 「INPUT」。。 預設值為 False。

預設值: False
resource_inputs

要做為資源的選擇性輸入清單。 資源會下載至腳本資料夾,並提供在運行時間變更腳本行為的方式。

預設值: None
name
必要
str

管線步驟的名稱。

inputs
必要

步驟輸入的清單。

outputs
必要

步驟輸出的清單。

arguments
必要

選擇性的自變數清單,以傳遞至步驟中使用的腳本。

fix_port_name_collisions
必要

指定是否要修正名稱衝突。 如果 True 和輸入和輸出具有相同的名稱,則輸入前面會加上 「INPUT」。。 預設值為 False。

resource_inputs
必要

要做為資源的選擇性輸入清單。 資源會下載至腳本資料夾,並提供在運行時間變更腳本行為的方式。

備註

PipelineStep 是執行單位,通常需要執行目標(計算目標)、使用選擇性腳本自變數和輸入來執行的腳本,而且可以產生輸出。 此步驟也可以採取一些步驟特定的其他參數。

管線步驟可以一起設定為建構 Pipeline,其代表可共用且可重複使用的 Azure Machine Learning 工作流程。 如果步驟內容(腳本/相依性)以及輸入和參數保持不變,管線的每個步驟都可以設定為允許重複使用其先前的執行結果。 重複使用步驟時,而不是提交作業來計算,先前執行的結果會立即提供給任何後續步驟使用。

Azure Machine Learning Pipelines 提供常見案例的內建步驟。 如需範例,請參閱 steps 套件和 類別 AutoMLStep 。 如需根據預先建置步驟建構管線的概觀,請參閱 https://aka.ms/pl-first-pipeline

衍生自 PipelineStep 的預先建置步驟是一個管線中使用的步驟。 如果您使用機器學習工作流程呼叫來建立可跨不同管線進行版本設定和使用的步驟,請使用 類別 Module

使用管線步驟、輸入/輸出數據和步驟重複使用時,請記住下列事項。

  • 建議您針對個別步驟使用不同的source_directory位置。 如果管線步驟中的所有腳本都位於單一目錄中,則每次變更一個腳本時,該目錄的哈希就會變更,迫使所有步驟重新執行。 如需針對不同步驟使用個別目錄的範例,請參閱 https://aka.ms/pl-get-started

  • 針對每個步驟維護腳本和相依檔案的不同資料夾,有助於減少針對每個步驟建立的快照集大小,因為只有特定資料夾已建立快照集。 因為步驟source_directory中任何檔案的變更都會觸發快照集的重新上傳,因此維護每個步驟的個別資料夾,有助於重複使用管線中的步驟,因為如果步驟source_directory中沒有任何變更,則會重複使用步驟的上一次執行。

  • 如果步驟中使用的數據位於數據存放區中,且allow_reuse為 True,則不會偵測到數據變更的變更。 如果數據會上傳為快照集的一部分(在步驟的source_directory下),但不建議這麼做,則哈希將會變更,並會觸發重新執行。

方法

create_input_output_bindings

從步驟輸入和輸出建立輸入和輸出系結。

create_module_def

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

create_node

根據此步驟建立管線圖形的節點。

get_source_directory

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

resolve_input_arguments

比對自變數的輸入和輸出,以產生自變數字串。

run_after

在指定的步驟之後執行此步驟。

validate_arguments

驗證自變數中所提供的步驟輸入和輸出是否位於輸入和輸出清單中。

create_input_output_bindings

從步驟輸入和輸出建立輸入和輸出系結。

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

參數

名稱 Description
inputs
必要

步驟輸入的清單。

outputs
必要

步驟輸出的清單。

default_datastore
必要

預設數據存放區。

resource_inputs

要作為資源的輸入清單。 資源會下載至腳本資料夾,並提供在運行時間變更腳本行為的方式。

預設值: None

傳回

類型 Description

輸入系結和輸出系結的 Tuple。

create_module_def

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

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)

參數

名稱 Description
execution_type
必要
str

模組的執行類型。

input_bindings
必要

步驟輸入系結。

output_bindings
必要

步驟輸出系結。

param_defs

步驟參數定義。

預設值: None
create_sequencing_ports

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

預設值: True
allow_reuse

指定模組是否可以在未來管線中重複使用。

預設值: True
version
str

模組的版本。

預設值: None
module_type
str

要建立之模組服務的模組類型。 目前只支援兩種類型:『None』 和 『BatchInferencing』。 module_type 不同於 execution_type ,它會指定要用來執行此模組的後端服務種類。

預設值: None
arguments

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

預設值: None
runconfig
str

將用於python_script_step的 Runconfig

預設值: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

將用於雲端的設定

預設值: None

傳回

類型 Description

模組定義物件。

create_node

根據此步驟建立管線圖形的節點。

abstract create_node(graph, default_datastore, context)

參數

名稱 Description
graph
必要

要加入節點的圖表。

default_datastore
必要

用於此步驟的預設數據存放區。

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

圖形內容物件。

傳回

類型 Description

建立的節點。

get_source_directory

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

get_source_directory(context, source_directory, script_name)

參數

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

圖形內容物件。

source_directory
必要
str

步驟的來源目錄。

script_name
必要
str

步驟的腳本名稱。

hash_paths
必要

判斷模組指紋時要使用的哈希路徑。

傳回

類型 Description

來源目錄和哈希路徑。

resolve_input_arguments

比對自變數的輸入和輸出,以產生自變數字串。

static resolve_input_arguments(arguments, inputs, outputs, params)

參數

名稱 Description
arguments
必要

步驟自變數的清單。

inputs
必要

步驟輸入的清單。

outputs
必要

步驟輸出的清單。

params
必要

步驟參數的清單。

傳回

類型 Description

傳回兩個專案的元組。 第一個是已解析自變數的專案一般清單。 第二個是結構化自變數的清單(_InputArgument、_OutputArgument、_ParameterArgument和_StringArgument)

run_after

在指定的步驟之後執行此步驟。

run_after(step)

參數

名稱 Description
step
必要

在此步驟之前要執行的管線步驟。

備註

如果您想要執行步驟,例如,在 step1 和 step2 完成之後的 step3,您可以使用:


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

驗證自變數中所提供的步驟輸入和輸出是否位於輸入和輸出清單中。

static validate_arguments(arguments, inputs, outputs)

參數

名稱 Description
arguments
必要

步驟自變數的清單。

inputs
必要

步驟輸入的清單。

outputs
必要

步驟輸出的清單。