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.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
- default_datastore
- AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Domyślny magazyn danych używany na potrzeby połączeń danych.
- resolve_closure
- bool
Czy rozwiązać problem z zamknięciem, czy nie (automatycznie wprowadzaj kroki zależne).
- default_datastore
- AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Domyślny magazyn danych używany na potrzeby połączeń danych.
- resolve_closure
- bool
Czy rozwiązać problem z zamknięciem, czy nie (automatycznie wprowadzaj kroki zależne).
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Dostawca przepływu pracy, jeśli żaden z nich nie został utworzony.
- _service_endpoint
- str
Punkt końcowy usługi, jeśli nie zostanie określony przy użyciu obszaru roboczego.
- kwargs
- dict
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
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Dostawca przepływu pracy.
- _service_endpoint
- str
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
- continue_on_step_failure
- bool
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
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
- pipeline_parameters
- dict
Parametry wykonywania potoku, słownik {name: value}. Zobacz PipelineParameter , aby uzyskać więcej informacji.
- continue_on_step_failure
- bool
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
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
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
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla