Pipeline Třída
Představuje kolekci kroků, které je možné spustit jako opakovaně použitelný pracovní postup služby Azure Machine Learning.
Pomocí kanálu můžete vytvářet a spravovat pracovní postupy, které spojují různé fáze strojového učení. Každá fáze strojového učení, jako je příprava dat a trénování modelu, se může skládat z jednoho nebo více kroků v kanálu.
Přehled o tom, proč a kdy používat Pipelines, najdete v tématu https://aka.ms/pl-concept.
Přehled o vytváření kanálu najdete v tématu https://aka.ms/pl-first-pipeline.
Inicializace kanálu
Konstruktor
Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)
Parametry
| Name | Description |
|---|---|
|
workspace
Vyžadováno
|
Pracovní prostor pro odeslání kanálu. |
|
steps
Vyžadováno
|
Seznam kroků, které se mají provést jako součást kanálu. |
|
description
Vyžadováno
|
Popis kanálu. |
|
default_datastore
Vyžadováno
|
Výchozí úložiště dat, které se má použít pro datová připojení. |
|
default_source_directory
Vyžadováno
|
Výchozí adresář skriptů pro kroky, které spustí skript. |
|
resolve_closure
Vyžadováno
|
Zda se má vyřešit uzavření nebo ne (automaticky přenést závislé kroky). |
|
workspace
Vyžadováno
|
Pracovní prostor pro odeslání kanálu. |
|
steps
Vyžadováno
|
Seznam kroků, které se mají provést jako součást kanálu. |
|
description
Vyžadováno
|
Popis kanálu. |
|
default_datastore
Vyžadováno
|
Výchozí úložiště dat, které se má použít pro datová připojení. |
|
default_source_directory
Vyžadováno
|
Výchozí adresář skriptů pro kroky, které spustí skript. |
|
resolve_closure
Vyžadováno
|
Bez ohledu na to, jestli se řeší uzavření (automaticky přineste závislé kroky). |
|
_workflow_provider
Vyžadováno
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Zprostředkovatel pracovního postupu, pokud není vytvořen žádný. |
|
_service_endpoint
Vyžadováno
|
Koncový bod služby, pokud není určen pomocí pracovního prostoru. |
|
kwargs
Vyžadováno
|
Vlastní argumenty klíčových slov, vyhrazené pro budoucí vývoj |
Poznámky
Vytvoří se kanál se seznamem kroků a pracovního prostoru. Existuje několik typů kroků, které je možné použít v kanálu. Typ kroku vyberete na základě scénáře strojového učení.
Kanály Služby Azure Machine Learning poskytují integrované kroky pro běžné scénáře. Předdefinované kroky odvozené z PipelineStep jsou kroky, které se používají v jednom kanálu. Příklady najdete v steps balíčku a třídě AutoMLStep .
Pokud váš pracovní postup strojového učení volá k vytváření kroků, které se dají ve verzích a používat v různých kanálech, použijte funkce v Module modulu.
Odešlete kanál pomocí submit. Při volání odeslání se vytvoří PipelineRun objekty StepRun pro každý krok pracovního postupu. Pomocí těchto objektů můžete monitorovat provádění spuštění.
Příklad odeslání kanálu je následující:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline)
Pro kanál existuje několik volitelných nastavení, která lze zadat při odeslání v nástroji submit.
continue_on_step_failure: Zda pokračovat v provádění kanálu v případě selhání kroku; výchozí hodnota je False. Pokud je hodnota True, budou pokračovat v provádění pouze kroky, které nemají žádnou závislost na výstupu neúspěšného kroku.
regenerate_outputs: Určuje, jestli chcete vynutit regeneraci všech výstupů kroku a zakázat opakované použití dat pro toto spuštění, výchozí hodnota je False.
pipeline_parameters: Parametry spuštění kanálu, slovník {name: value}. Další podrobnosti najdete v PipelineParameter.
parent_run_id: Můžete zadat ID spuštění pro nastavení nadřazeného spuštění tohoto spuštění kanálu, který se projeví v RunHistory. Nadřazené spuštění musí patřit do stejného experimentu, do kterého se tento kanál odesílá.
Příklad odeslání kanálu pomocí těchto nastavení:
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>")
Metody
| load_yaml |
Načtěte kanál ze zadaného souboru YAML. Soubor YAML lze použít k popisu kanálu sestávajícího z moduleSteps. |
| publish |
Publikujte kanál a zpřístupnit ho pro opětovné spuštění. Po publikování kanálu je možné ho odeslat bez kódu Pythonu, který kanál vytvořil. Vrátí vytvořenou PublishedPipelinehodnotu . |
| service_endpoint |
Získejte koncový bod služby přidružený ke kanálu. |
| submit |
Odešlete spuštění kanálu. To je ekvivalent použití submit. Vrátí odeslanou PipelineRunhodnotu . Tento objekt slouží k monitorování a zobrazení podrobností o spuštění. |
| validate |
Ověřte kanál a identifikujte potenciální chyby, například nepřipojené vstupy. |
load_yaml
Načtěte kanál ze zadaného souboru YAML.
Soubor YAML lze použít k popisu kanálu sestávajícího z moduleSteps.
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
Parametry
| Name | Description |
|---|---|
|
workspace
Vyžadováno
|
Pracovní prostor pro odeslání kanálu. |
|
filename
Vyžadováno
|
Soubor YAML, který popisuje kanál. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Zprostředkovatel pracovního postupu. Default value: None
|
|
_service_endpoint
|
Koncový bod služby, pokud žádný, se určí pomocí pracovního prostoru. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Vytvořený kanál. |
Poznámky
Příklad souboru YAML najdete níže. YAML obsahuje název, default_compute a seznamy parametrů, odkazů na data a kroky pro kanál. Každý krok by měl určovat modul, výpočetní objekt a parametr, vstupní a výstupní vazby. Kromě toho je možné v případě potřeby zadat krok runconfig a argumenty.
Ukázkový soubor 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
Publikujte kanál a zpřístupnit ho pro opětovné spuštění.
Po publikování kanálu je možné ho odeslat bez kódu Pythonu, který kanál vytvořil. Vrátí vytvořenou PublishedPipelinehodnotu .
publish(name=None, description=None, version=None, continue_on_step_failure=None)
Parametry
| Name | Description |
|---|---|
|
name
|
Název publikovaného kanálu. Default value: None
|
|
description
|
Popis publikovaného kanálu. Default value: None
|
|
version
|
Verze publikovaného kanálu. Default value: None
|
|
continue_on_step_failure
|
Označuje, jestli chcete pokračovat v provádění dalších kroků v PipelineRun, pokud se krok nezdaří; výchozí hodnota je false. Pokud je hodnota True, budou pokračovat v provádění pouze kroky, které nemají žádnou závislost na výstupu neúspěšného kroku. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Vytvořili jste publikovaný kanál. |
service_endpoint
Získejte koncový bod služby přidružený ke kanálu.
service_endpoint()
Návraty
| Typ | Description |
|---|---|
|
Koncový bod služby. |
submit
Odešlete spuštění kanálu. To je ekvivalent použití submit.
Vrátí odeslanou PipelineRunhodnotu . Tento objekt slouží k monitorování a zobrazení podrobností o spuštění.
submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)
Parametry
| Name | Description |
|---|---|
|
experiment_name
Vyžadováno
|
Název experimentu pro odeslání kanálu |
|
pipeline_parameters
|
Parametry spuštění kanálu, slovník {name: value}. Další podrobnosti najdete v PipelineParameter. Default value: None
|
|
continue_on_step_failure
|
Určuje, jestli se má pokračovat v provádění kanálu, pokud krok selže. Pokud je hodnota True, budou pokračovat v provádění pouze kroky, které nemají žádnou závislost na výstupu neúspěšného kroku. Default value: False
|
|
regenerate_outputs
|
Určuje, zda chcete vynutit regeneraci všech výstupů kroku a zakázat opakované použití dat pro toto spuštění. Pokud je toto spuštění false, může toto spuštění opakovaně používat výsledky z předchozích spuštění a následná spuštění můžou znovu použít výsledky tohoto spuštění. Default value: False
|
|
parent_run_id
|
Volitelné ID spuštění, které se nastaví pro nadřazené spuštění tohoto kanálu, což se projeví v runHistory. Nadřazené spuštění musí patřit do stejného experimentu, do kterého se tento kanál odesílá. Default value: None
|
|
credential_passthrough
|
Pokud je tento příznak povolený, použije úloha vzdáleného kanálu přihlašovací údaje uživatele, který úlohu zahájil. Tato funkce je dostupná jenom v privátní verzi Preview. Default value: None
|
Návraty
| Typ | Description |
|---|---|
|
Odeslaná spuštění kanálu. |
validate
Ověřte kanál a identifikujte potenciální chyby, například nepřipojené vstupy.
validate()
Návraty
| Typ | Description |
|---|---|
|
Seznam chyb v kanálu |
Poznámky
Mezi příklady chyb ověření patří:
chybějící nebo neočekávané zdroje dat kanálu nebo typy kroků
chybějící parametry nebo definice výstupu pro zdroj dat kanálu nebo krok
nepřipojené vstupy
kroky kanálu, které tvoří smyčku nebo cyklus
Pokud ověření projde (vrátí prázdný seznam) a váš kanál nefunguje, podívejte se na kanály ladění a řešení potíží.
Atributy
graph
Získejte graf přidružený ke kanálu. Kroky a vstupy dat se v grafu zobrazují jako uzly.
Návraty
| Typ | Description |
|---|---|
|
Graf. |