Pipeline 類別
表示可當做可重複使用的 Azure Machine Learning 工作流程執行的步驟集合。
使用管線來建立和管理將各種機器學習階段結合在一起的工作流程。 每個機器學習階段,例如資料準備和模型定型,都可以由管線中的一或多個步驟組成。
如需使用管線的原因和時機概觀,請參閱 https://aka.ms/pl-concept 。
如需建構管線的概觀,請參閱 https://aka.ms/pl-first-pipeline 。
初始化管線。
- 繼承
-
builtins.objectPipeline
建構函式
Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)
參數
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
如果建立工作流程提供者,則為 。
備註
管線是使用步驟清單和工作區來建立。 有一些步驟類型可用於管線中。 您將根據機器學習案例選取步驟類型。
Azure Machine Learning Pipelines 提供常見案例的內建步驟。 衍生自 PipelineStep 的預先建置步驟是一個管線中使用的步驟。 如需範例,請參閱 steps 封裝和 AutoMLStep 類別。
如果您使用機器學習工作流程來建立可跨不同管線進行版本設定及使用的步驟,請使用模組中的 Module 功能。
使用 submit 提交管線。 呼叫 submit 時,會建立 , PipelineRun 進而為工作流程中的每個步驟建立 StepRun 物件。 使用這些物件來監視執行。
提交管線的範例如下所示:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline)
管線有數個選擇性設定,可在 中 submit 提交時指定。
continue_on_step_failure:如果步驟失敗,是否繼續執行管線;預設值為 False。 如果為 True,則只有沒有相依于失敗步驟輸出的步驟會繼續執行。
regenerate_outputs:是否強制重新產生所有步驟輸出,並不允許此執行的資料重複使用,預設值為 False。
pipeline_parameters:管線執行的參數,{name: value} 的字典。 如需更多詳細資料,請參閱 PipelineParameter \(英文\)。
parent_run_id:您可以提供執行識別碼來設定此管線執行的父回合,這會反映在 RunHistory 中。 父執行必須屬於此管線要提交到的相同實驗。
使用這些設定提交管線的範例如下:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline,
continue_on_step_failure=True,
regenerate_outputs=True,
pipeline_parameters={"param1": "value1"},
parent_run_id="<run_id>")
方法
load_yaml |
從指定的 YAML 檔案載入管線。 YAML 檔案可用來描述由 ModuleSteps 組成的管線。 |
publish |
發佈管線並使其可供重新執行。 一旦發佈管線,就可以提交它,而不需要建構管線的 Python 程式碼。 傳回建立 PublishedPipeline 的 。 |
service_endpoint |
取得與管線相關聯的服務端點。 |
submit |
提交管線執行。 這相當於使用 submit 。 傳回提交的 PipelineRun 。 使用此物件來監視及檢視執行的詳細資料。 |
validate |
驗證管線並識別潛在的錯誤,例如未連線的輸入。 |
load_yaml
從指定的 YAML 檔案載入管線。
YAML 檔案可用來描述由 ModuleSteps 組成的管線。
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
參數
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
工作流程提供者。
傳回
建構的管線。
傳回類型
備註
如需範例 YAML 檔案,請參閱下方。 YAML 包含管線的名稱、default_compute和參數清單、資料參考和步驟。 每個步驟都應該指定模組、計算和參數、輸入和輸出系結。 此外,如有必要,可以指定步驟 Runconfig 和引數。
範例 Yaml 檔案:
pipeline:
description: SamplePipelineFromYaml
parameters:
NumIterationsParameter:
type: int
default: 40
DataPathParameter:
type: datapath
default:
datastore: workspaceblobstore
path_on_datastore: sample2.txt
NodeCountParameter:
type: int
default: 4
data_references:
DataReference:
datastore: workspaceblobstore
path_on_datastore: testfolder/sample.txt
Dataset:
dataset_name: 'titanic'
default_compute: aml-compute
steps:
PrepareStep:
type: ModuleStep
name: "TestModule"
compute: aml-compute2
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input1'
-input:in1
-'--input2'
-input:in2
-'--input3'
-input:in3
-'--output'
-output:output_data
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS:
source: NumIterationsParameter
inputs:
in1:
source: Dataset
bind_mode: mount
in2:
source: DataReference
in3:
source: DataPathParameter
outputs:
output_data:
destination: Output1
datastore: workspaceblobstore
bind_mode: mount
TrainStep:
type: ModuleStep
name: "TestModule2"
version: "2"
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input'
-input:train_input
-'--output'
-output:result
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS: 10
runconfig_parameters:
NodeCount:
source: NodeCountParameter
inputs:
train_input:
source: Output1
bind_mode: mount
outputs:
result:
destination: Output2
datastore: workspaceblobstore
bind_mode: mount
publish
發佈管線並使其可供重新執行。
一旦發佈管線,就可以提交它,而不需要建構管線的 Python 程式碼。 傳回建立 PublishedPipeline 的 。
publish(name=None, description=None, version=None, continue_on_step_failure=None)
參數
- continue_on_step_failure
- bool
指出如果步驟失敗,是否繼續執行 PipelineRun 中的其他步驟;預設值為 false。 如果為 True,則只有沒有相依于失敗步驟輸出的步驟會繼續執行。
傳回
已建立已發佈的管線。
傳回類型
service_endpoint
submit
提交管線執行。 這相當於使用 submit 。
傳回提交的 PipelineRun 。 使用此物件來監視及檢視執行的詳細資料。
submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)
參數
- pipeline_parameters
- dict
管線執行的參數,{name: value} 的字典。 如需更多詳細資料,請參閱 PipelineParameter \(英文\)。
- regenerate_outputs
- bool
指出是否強制重新產生所有步驟輸出,並不允許此執行的資料重複使用。 若為 False,則此執行可重複使用先前執行的結果,且後續執行也可重複使用此執行的結果。
- credential_passthrough
選擇性,如果啟用此旗標,遠端管線作業將會使用起始作業之使用者的認證。 這項功能僅適用于私人預覽版。
傳回
提交的管線執行。
傳回類型
validate
驗證管線並識別潛在的錯誤,例如未連線的輸入。
validate()
傳回
管線中的錯誤清單。
傳回類型
備註
驗證錯誤的範例包括:
遺漏或非預期的管線資料來源或步驟類型
遺漏管線資料來源或步驟的參數或輸出定義
未連線的輸入
形成迴圈或迴圈的管線步驟
如果驗證通過 (傳回空白清單) ,且您的管線無法運作,請參閱 對機器學習管線進行偵錯和疑難排解。
屬性
graph
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應