Pipeline Klasa

Reprezentuje kolekcję kroków, które można wykonać jako przepływ pracy usługi Azure Machine Learning wielokrotnego użytku.

Użyj potoku, aby utworzyć przepływy pracy, które łączą różne fazy uczenia maszynowego i zarządzaj nimi. Każda faza uczenia maszynowego, taka jak przygotowywanie danych i trenowanie modelu, może składać się z co najmniej jednego kroku w potoku.

Aby zapoznać się z omówieniem przyczyn i czasu używania potoków, zobacz https://aka.ms/pl-concept.

Aby zapoznać się z omówieniem tworzenia potoku, zobacz https://aka.ms/pl-first-pipeline.

Inicjowanie potoku.

Dziedziczenie
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
Wymagane

Obszar roboczy do przesłania potoku.

steps
list
Wymagane

Lista kroków do wykonania w ramach potoku.

description
str
Wymagane

Opis potoku.

default_datastore
AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Wymagane

Domyślny magazyn danych używany na potrzeby połączeń danych.

default_source_directory
str
Wymagane

Domyślny katalog skryptów dla kroków, które wykonują skrypt.

resolve_closure
bool
Wymagane

Czy rozwiązać problem z zamknięciem, czy nie (automatycznie wprowadzaj kroki zależne).

workspace
Workspace
Wymagane

Obszar roboczy do przesłania potoku.

steps
list
Wymagane

Lista kroków do wykonania w ramach potoku.

description
str
Wymagane

Opis potoku.

default_datastore
AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Wymagane

Domyślny magazyn danych używany na potrzeby połączeń danych.

default_source_directory
str
Wymagane

Domyślny katalog skryptów dla kroków, które wykonują skrypt.

resolve_closure
bool
Wymagane

Czy rozwiązać problem z zamknięciem, czy nie (automatycznie wprowadzaj kroki zależne).

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Wymagane

Dostawca przepływu pracy, jeśli żaden z nich nie został utworzony.

_service_endpoint
str
Wymagane

Punkt końcowy usługi, jeśli nie zostanie określony przy użyciu obszaru roboczego.

kwargs
dict
Wymagane

Niestandardowe argumenty słów kluczowych zarezerwowane do przyszłego programowania

Uwagi

Potok jest tworzony z listą kroków i obszarem roboczym. Istnieje wiele typów kroków, które mogą być używane w potoku. Wybierz typ kroku na podstawie scenariusza uczenia maszynowego.

  • Potoki usługi Azure Machine Learning udostępniają wbudowane kroki dla typowych scenariuszy. Wstępnie utworzone kroki pochodzące z potoku PipelineStep to kroki, które są używane w jednym potoku. Przykłady można znaleźć w pakiecie stepsAutoMLStep i klasie .

  • Jeśli twój przepływ pracy uczenia maszynowego wymaga utworzenia kroków, które mogą być wersjonowane i używane w różnych potokach, użyj funkcji w Module module.

Prześlij potok przy użyciu polecenia submit. Po wywołaniu przesyłania tworzony jest obiekt, PipelineRun który z kolei tworzy StepRun obiekty dla każdego kroku w przepływie pracy. Użyj tych obiektów do monitorowania wykonywania przebiegu.

Przykład przesyłania potoku jest następujący:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline)

Istnieje kilka opcjonalnych ustawień potoku, które można określić podczas przesyłania w elemecie submit.

  • continue_on_step_failure: czy kontynuować wykonywanie potoku, jeśli krok zakończy się niepowodzeniem; wartość domyślna to False. Jeśli wartość True, tylko kroki, które nie mają zależności od danych wyjściowych kroku, którego wykonanie zakończyło się niepowodzeniem, będzie kontynuowane.

  • regenerate_outputs: czy wymusić ponowne generowanie wszystkich danych wyjściowych kroku i uniemożliwić ponowne użycie danych dla tego przebiegu, wartość domyślna to False.

  • pipeline_parameters: Parametry wykonywania potoku, słownik {name: value}. Zobacz PipelineParameter , aby uzyskać więcej informacji.

  • parent_run_id: możesz podać identyfikator przebiegu, aby ustawić nadrzędne uruchomienie tego przebiegu potoku, które znajduje odzwierciedlenie w runHistory. Przebieg nadrzędny musi należeć do tego samego eksperymentu, do którego jest przesyłany ten potok.

Przykład przesyłania potoku przy użyciu tych ustawień jest następujący:


   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

Załaduj potok z określonego pliku YAML.

Plik YAML może służyć do opisania potoku składającego się z moduleSteps.

publish

Opublikuj potok i udostępnij go do ponownego uruchamiania.

Po opublikowaniu potoku można go przesłać bez kodu w języku Python, który skonstruował potok. Zwraca utworzony PublishedPipelineelement .

service_endpoint

Pobierz punkt końcowy usługi skojarzony z potokiem.

submit

Prześlij przebieg potoku. Jest to równoważne użyciu elementu submit.

Zwraca przesłany element PipelineRun. Ten obiekt służy do monitorowania i wyświetlania szczegółów przebiegu.

validate

Zweryfikuj potok i zidentyfikuj potencjalne błędy, takie jak niepołączone dane wejściowe.

load_yaml

Załaduj potok z określonego pliku YAML.

Plik YAML może służyć do opisania potoku składającego się z moduleSteps.

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

Parametry

workspace
Workspace
Wymagane

Obszar roboczy do przesłania potoku.

filename
str
Wymagane

Plik YAML, który opisuje potok.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
wartość domyślna: None

Dostawca przepływu pracy.

_service_endpoint
str
wartość domyślna: None

Punkt końcowy usługi, jeśli brak, zostanie określony przy użyciu obszaru roboczego.

Zwraca

Skonstruowany potok.

Typ zwracany

Uwagi

Poniżej przedstawiono przykładowy plik YAML. Plik YAML zawiera nazwę, default_compute i listę parametrów, odwołań do danych i kroki potoku. Każdy krok powinien określać moduł, obliczenia i parametr, powiązania wejściowe i wyjściowe. Ponadto w razie potrzeby można określić konfigurację i argumenty kroku.

Przykładowy plik 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

Opublikuj potok i udostępnij go do ponownego uruchamiania.

Po opublikowaniu potoku można go przesłać bez kodu w języku Python, który skonstruował potok. Zwraca utworzony PublishedPipelineelement .

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

Parametry

name
str
wartość domyślna: None

Nazwa opublikowanego potoku.

description
str
wartość domyślna: None

Opis opublikowanego potoku.

version
str
wartość domyślna: None

Wersja opublikowanego potoku.

continue_on_step_failure
bool
wartość domyślna: None

Wskazuje, czy kontynuować wykonywanie innych kroków w potokuUruchom, jeśli krok zakończy się niepowodzeniem; wartość domyślna to false. Jeśli wartość True, tylko kroki, które nie mają zależności od danych wyjściowych kroku, którego wykonanie zakończyło się niepowodzeniem, będzie kontynuowane.

Zwraca

Utworzono opublikowany potok.

Typ zwracany

service_endpoint

Pobierz punkt końcowy usługi skojarzony z potokiem.

service_endpoint()

Zwraca

Punkt końcowy usługi.

Typ zwracany

str

submit

Prześlij przebieg potoku. Jest to równoważne użyciu elementu submit.

Zwraca przesłany element PipelineRun. Ten obiekt służy do monitorowania i wyświetlania szczegółów przebiegu.

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
Wymagane

Nazwa eksperymentu do przesłania potoku.

pipeline_parameters
dict
wartość domyślna: None

Parametry wykonywania potoku, słownik {name: value}. Zobacz PipelineParameter , aby uzyskać więcej informacji.

continue_on_step_failure
bool
wartość domyślna: False

Wskazuje, czy kontynuować wykonywanie potoku, jeśli krok zakończy się niepowodzeniem. Jeśli wartość True, tylko kroki, które nie mają zależności od danych wyjściowych kroku, którego wykonanie zakończyło się niepowodzeniem, będzie kontynuowane.

regenerate_outputs
bool
wartość domyślna: False

Wskazuje, czy wymusić ponowne generowanie wszystkich danych wyjściowych kroku i uniemożliwić ponowne użycie danych dla tego przebiegu. W przypadku wartości False ten przebieg może ponownie użyć wyników z poprzednich przebiegów, a kolejne przebiegi mogą ponownie użyć wyników tego przebiegu.

parent_run_id
str
wartość domyślna: None

Opcjonalny identyfikator przebiegu do ustawienia dla nadrzędnego przebiegu tego uruchomienia potoku, który jest odzwierciedlony w runHistory. Przebieg nadrzędny musi należeć do tego samego eksperymentu, do którego jest przesyłany ten potok.

credential_passthrough
wartość domyślna: None

Opcjonalnie, jeśli ta flaga jest włączona, zadanie zdalnego potoku będzie używać poświadczeń użytkownika, który zainicjował zadanie. Ta funkcja jest dostępna tylko w prywatnej wersji zapoznawczej.

Zwraca

Przesłane uruchomienie potoku.

Typ zwracany

validate

Zweryfikuj potok i zidentyfikuj potencjalne błędy, takie jak niepołączone dane wejściowe.

validate()

Zwraca

Lista błędów w potoku.

Typ zwracany

Uwagi

Przykłady błędów walidacji obejmują:

  • brakujące lub nieoczekiwane źródła danych potoku lub typy kroków

  • brakujące parametry lub definicje danych wyjściowych dla źródła danych potoku lub kroku

  • niepołączone dane wejściowe

  • kroki potoku, które tworzą pętlę lub cykl

Jeśli walidacja zakończy się pomyślnie (zwraca pustą listę), a potok nie działa, zobacz Potoki debugowania i rozwiązywania problemów z uczeniem maszynowym.

Atrybuty

graph

Pobierz wykres skojarzony z potokiem. Kroki i dane wejściowe są wyświetlane jako węzły na wykresie.

Zwraca

Wykres.

Typ zwracany