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.

Inicializujte kanál.

Dědičnost
builtins.object
Pipeline

Konstruktor

Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)

Parametry

workspace
Workspace
Vyžadováno

Pracovní prostor, do který se má kanál odeslat.

steps
list
Vyžadováno

Seznam kroků, které se mají provést jako součást kanálu.

description
str
Vyžadováno

Popis kanálu.

default_datastore
AbstractAzureStorageDatastore nebo AzureDataLakeDatastore
Vyžadováno

Výchozí úložiště dat pro datová připojení.

default_source_directory
str
Vyžadováno

Výchozí adresář skriptů pro kroky, které spouští skript.

resolve_closure
bool
Vyžadováno

Jestli chcete vyřešit uzavření nebo ne (automaticky zavést závislé kroky).

workspace
Workspace
Vyžadováno

Pracovní prostor, do který se má kanál odeslat.

steps
list
Vyžadováno

Seznam kroků, které se mají provést jako součást kanálu.

description
str
Vyžadováno

Popis kanálu.

default_datastore
AbstractAzureStorageDatastore nebo AzureDataLakeDatastore
Vyžadováno

Výchozí úložiště dat pro datová připojení.

default_source_directory
str
Vyžadováno

Výchozí adresář skriptů pro kroky, které spouští skript.

resolve_closure
bool
Vyžadováno

Zda vyřešit uzavření nebo ne (automaticky zavést závislé kroky)

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Vyžadováno

Zprostředkovatel pracovního postupu, pokud není vytvořen žádný.

_service_endpoint
str
Vyžadováno

Koncový bod služby, pokud žádný, je určen pomocí pracovního prostoru.

kwargs
dict
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. V kanálu je možné použít několik typů kroků. Typ kroku vyberete na základě vašeho 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 kroku 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 je v různých kanálech, použijte funkci v tomto Module modulu.

Odešlete kanál pomocí submit. Při volání příkazu submit 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ří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á je možné zadat při odeslání v .submit

  • continue_on_step_failure: Jestli chcete pokračovat v provádění kanálu, pokud se krok nezdaří. výchozí hodnota je False. Pokud má hodnotu 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 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. Jedná se o ekvivalent použití submit.

Vrátí odeslanou PipelineRunhodnotu . Tento objekt slouží k monitorování a zobrazení podrobností spuštění.

validate

Ověřte kanál a identifikujte potenciální chyby, jako jsou 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

workspace
Workspace
Vyžadováno

Pracovní prostor, do který se má kanál odeslat.

filename
str
Vyžadováno

Soubor YAML, který popisuje kanál.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
výchozí hodnota: None

Zprostředkovatel pracovního postupu.

_service_endpoint
str
výchozí hodnota: None

Koncový bod služby, pokud žádný, určí se pomocí pracovního prostoru.

Návraty

Vytvořený kanál.

Návratový typ

Poznámky

Níže najdete příklad souboru YAML. YAML obsahuje název, default_compute a seznamy parametrů, odkazů na data a kroků 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 a argumenty kroku.

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 vytvořil. Vrátí vytvořenou PublishedPipelinehodnotu .

publish(name=None, description=None, version=None, continue_on_step_failure=None)

Parametry

name
str
výchozí hodnota: None

Název publikovaného kanálu.

description
str
výchozí hodnota: None

Popis publikovaného kanálu.

version
str
výchozí hodnota: None

Verze publikovaného kanálu.

continue_on_step_failure
bool
výchozí hodnota: None

Určuje, jestli chcete pokračovat v provádění dalších kroků v pipelineSpustit, pokud se krok nezdaří. výchozí hodnota je false. Pokud má hodnotu True, budou pokračovat pouze kroky, které nejsou závislé na výstupu neúspěšného kroku.

Návraty

Vytvořil se publikovaný kanál.

Návratový typ

service_endpoint

Získejte koncový bod služby přidružený ke kanálu.

service_endpoint()

Návraty

Koncový bod služby.

Návratový typ

str

submit

Odešlete spuštění kanálu. Jedná se o ekvivalent použití submit.

Vrátí odeslanou PipelineRunhodnotu . Tento objekt slouží k monitorování a zobrazení podrobností 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

experiment_name
str
Vyžadováno

Název experimentu, do který se má kanál odeslat.

pipeline_parameters
dict
výchozí hodnota: None

Parametry spuštění kanálu, slovník {name: value}. Další podrobnosti najdete PipelineParameter v tématu .

continue_on_step_failure
bool
výchozí hodnota: False

Určuje, jestli se má v případě selhání kroku pokračovat v provádění kanálu. Pokud má hodnotu True, budou pokračovat pouze kroky, které nejsou závislé na výstupu neúspěšného kroku.

regenerate_outputs
bool
výchozí hodnota: False

Určuje, jestli se má vynutit opětovné obnovení všech výstupů kroků 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í.

parent_run_id
str
výchozí hodnota: None

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á.

credential_passthrough
výchozí hodnota: None

Volitelné– pokud je tento příznak povolený, úloha vzdáleného kanálu použije přihlašovací údaje uživatele, který úlohu inicioval. Tato funkce je dostupná jenom v privátní verzi Preview.

Návraty

Odeslaný kanál se spustí.

Návratový typ

validate

Ověřte kanál a identifikujte potenciální chyby, jako jsou nepřipojené vstupy.

validate()

Návraty

Seznam chyb v kanálu.

Návratový typ

Poznámky

Příklady chyb ověřování:

  • 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, projděte si téma Ladění kanálů strojového učení a řešení souvisejících potíží.

Atributy

graph

Získejte graf přidružený ke kanálu. Kroky a datové vstupy se v grafu zobrazí jako uzly.

Návraty

Graf

Návratový typ