Pipeline Třída
Představuje kolekci kroků, které je možné provést jako opakovaně použitelný pracovní postup služby Azure Machine Learning.
Kanál slouží k vytváření a správě pracovních postupů, 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 důvodů a kdy používat kanály 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
- Dědičnost
-
builtins.objectPipeline
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, do který chcete kanál odeslat. |
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é spouští skript. |
resolve_closure
Vyžadováno
|
Zda se má vyřešit uzavření nebo ne (automatické přenesení závislých kroků) |
workspace
Vyžadováno
|
Pracovní prostor, do který chcete kanál odeslat. |
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é spouští skript. |
resolve_closure
Vyžadováno
|
Zda vyřešit uzavření nebo ne (automaticky zavést závislé kroky) |
_workflow_provider
Vyžadováno
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Poskytovatel pracovního postupu, pokud není vytvořen žádný. |
_service_endpoint
Vyžadováno
|
Koncový bod služby, pokud žádný, je určen pomocí pracovního prostoru. |
kwargs
Vyžadováno
|
Argumenty vlastních klíčových slov vyhrazené pro budoucí vývoj |
Poznámky
Vytvoří se kanál se seznamem kroků a pracovním prostorem. Existuje několik typů kroků, které se dají použít v kanálu. Typ kroku vyberete na základě scénáře strojového učení.
Azure Machine Learning Pipelines poskytuje 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 pracovní postup použití strojového učení vyžaduje vytvoření kroků, které je možné vytvářet verze a používat v různých kanálech, použijte funkci v modulu Module .
Odešlete kanál pomocí submit. Při volání odeslání se vytvoří objekt, PipelineRun který následně vytvoří StepRun objekty pro každý krok v pracovním postupu. Tyto objekty slouží k monitorování spuštění.
Příkladem 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á je možné zadat při odeslání v souboru submit.
continue_on_step_failure: Zda pokračovat v provádění kanálu v případě selhání kroku; výchozí hodnota je Nepravda. Pokud je true, budou pokračovat pouze kroky, které nejsou závislé na výstupu neúspěšného kroku.
regenerate_outputs: Jestli chcete vynutit opětovné obnovení všech výstupů kroků 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 PipelineParameter v tématu .
parent_run_id: Můžete zadat ID spuštění, které nastaví nadřazené spuštění tohoto spuštění kanálu, což se projeví ve funkci 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, který se skládá z ModuleSteps. |
publish |
Publikujte kanál a zpřístupněte ho pro opětovné spuštění. Jakmile je kanál publikovaný, můžete ho odeslat bez kódu Pythonu, který kanál sestrojil. Vrátí vytvořenou PublishedPipelinehodnotu . |
service_endpoint |
Získejte koncový bod služby přidružený k kanálu. |
submit |
Odešlete spuštění kanálu. To odpovídá 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, který se skládá z ModuleSteps.
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Pracovní prostor, do který chcete kanál odeslat. |
filename
Vyžadováno
|
Soubor YAML, který popisuje kanál. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Poskytovatel pracovního postupu. Default value: None
|
_service_endpoint
|
Koncový bod služby, pokud žádný, je určen 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ů, odkazy na data a kroky pro kanál. Každý krok by měl určovat modul, výpočetní a parametr, vstupní a výstupní vazby. Kromě toho je možné v případě potřeby zadat parametr runconfig kroku 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řístupněte ho pro opětovné spuštění.
Jakmile je kanál publikovaný, můžete ho odeslat bez kódu Pythonu, který kanál sestrojil. 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
|
Určuje, zda pokračovat v provádění dalších kroků v PipelineRun, pokud krok selže; výchozí hodnota je false. Pokud je true, budou pokračovat pouze kroky, které nejsou závislé na výstupu neúspěšného kroku. Default value: None
|
Návraty
Typ | Description |
---|---|
Vytvořil se publikovaný kanál. |
service_endpoint
Získejte koncový bod služby přidružený k kanálu.
service_endpoint()
Návraty
Typ | Description |
---|---|
Koncový bod služby. |
submit
Odešlete spuštění kanálu. To odpovídá 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, do který se má kanál odeslat. |
pipeline_parameters
|
Parametry spuštění kanálu, slovník {name: value}. Další podrobnosti najdete PipelineParameter v tématu. Default value: None
|
continue_on_step_failure
|
Určuje, jestli se má pokračovat v provádění kanálu, pokud se krok nezdaří. Pokud je true, budou pokračovat pouze kroky, které nejsou závislé na výstupu neúspěšného kroku. Default value: False
|
regenerate_outputs
|
Určuje, zda se má vynutit regenerace všech výstupů kroku a zakázat opakované použití dat pro toto spuštění. Při nastavení na False se v tomto spuštění mohou opakovaně použít výsledky z předchozích spuštění a při následných spuštěních se mohou opakovaně použít výsledky tohoto spuštění. Default value: False
|
parent_run_id
|
Volitelné ID spuštění, které se má nastavit pro nadřazené 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á. Default value: None
|
credential_passthrough
|
Pokud je tento příznak povolený, bude úloha vzdáleného kanálu používat přihlašovací údaje uživatele, který úlohu inicioval. Tato funkce je dostupná jenom v privátní verzi Preview. Default value: None
|
Návraty
Typ | Description |
---|---|
Odeslaný kanál se spustí. |
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í proběhne (vrátí prázdný seznam) a váš kanál nefunguje, přečtěte si téma Ladění kanálů strojového učení a řešení potíží.
Atributy
graph
Získejte graf přidružený k kanálu. Kroky a datové vstupy se zobrazí jako uzly v grafu.
Návraty
Typ | Description |
---|---|
Graf. |