Udostępnij za pośrednictwem


PipelineStep Klasa

Reprezentuje krok wykonywania w potoku usługi Azure Machine Learning.

Potoki są tworzone na podstawie wielu kroków potoku, które są odrębnymi jednostkami obliczeniowymi w potoku. Każdy krok może działać niezależnie i korzystać z izolowanych zasobów obliczeniowych. Każdy krok zazwyczaj ma własne nazwane dane wejściowe, dane wyjściowe i parametry.

Klasa PipelineStep jest klasą bazową, z której inne wbudowane klasy kroków zaprojektowane dla typowych scenariuszy dziedziczą, takie jak PythonScriptStep, DataTransferStepi HyperDriveStep.

Aby zapoznać się z omówieniem relacji potoków i potoków, zobacz Co to są potoki uczenia maszynowego.

Zainicjuj potokKrok.

Dziedziczenie
builtins.object
PipelineStep

Konstruktor

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

Parametry

Nazwa Opis
name
Wymagane
str

Nazwa kroku potoku.

inputs
Wymagane

Lista danych wejściowych kroków.

outputs
Wymagane

Lista danych wyjściowych kroku.

arguments

Opcjonalna lista argumentów do przekazania do skryptu używanego w kroku.

Domyślna wartość: None
fix_port_name_collisions

Określa, czy należy naprawić kolizje nazw. Jeśli wartość True i dane wejściowe i wyjściowe mają taką samą nazwę, dane wejściowe mają prefiks "INPUT". Wartość domyślna to False.

Domyślna wartość: False
resource_inputs

Opcjonalna lista danych wejściowych, które mają być używane jako zasoby. Zasoby są pobierane do folderu script i umożliwiają zmianę zachowania skryptu w czasie wykonywania.

Domyślna wartość: None
name
Wymagane
str

Nazwa kroku potoku.

inputs
Wymagane

Lista danych wejściowych kroków.

outputs
Wymagane

Lista danych wyjściowych kroku.

arguments
Wymagane

Opcjonalna lista argumentów do przekazania do skryptu używanego w kroku.

fix_port_name_collisions
Wymagane

Określa, czy należy naprawić kolizje nazw. Jeśli wartość True i dane wejściowe i wyjściowe mają taką samą nazwę, dane wejściowe mają prefiks "INPUT". Wartość domyślna to False.

resource_inputs
Wymagane

Opcjonalna lista danych wejściowych, które mają być używane jako zasoby. Zasoby są pobierane do folderu script i umożliwiają zmianę zachowania skryptu w czasie wykonywania.

Uwagi

PipelineStep to jednostka wykonywania, która zwykle wymaga obiektu docelowego wykonania (docelowego obiektu obliczeniowego), skryptu do wykonania z opcjonalnymi argumentami i danymi wejściowymi skryptu oraz może generować dane wyjściowe. Krok może również wykonać szereg innych parametrów specyficznych dla kroku.

Kroki potoku można skonfigurować razem w celu utworzenia Pipelineelementu , który reprezentuje przepływ pracy usługi Azure Machine Learning z możliwością udostępniania i wielokrotnego użytku. Każdy krok potoku można skonfigurować tak, aby umożliwić ponowne użycie poprzednich wyników przebiegu, jeśli zawartość kroku (skrypty/zależności), a także dane wejściowe i parametry pozostają niezmienione. Podczas ponownego wykonywania kroku zamiast przesyłania zadania do obliczeń wyniki z poprzedniego przebiegu są natychmiast udostępniane wszystkim kolejnym krokom.

Potoki usługi Azure Machine Learning udostępniają wbudowane kroki dla typowych scenariuszy. Przykłady można znaleźć w pakiecie stepsAutoMLStep i klasie . Aby zapoznać się z omówieniem tworzenia potoku na podstawie wstępnie utworzonych kroków, zobacz https://aka.ms/pl-first-pipeline.

Wstępnie utworzone kroki pochodzące z potoku PipelineStep to kroki, które są używane w jednym potoku. Jeśli używasz przepływu pracy uczenia maszynowego do tworzenia kroków, które mogą być wersjonowane i używane w różnych potokach, użyj Module klasy .

Podczas pracy z krokami potoku, danymi wejściowymi/wyjściowymi i ponownym użyciem kroków należy pamiętać o następujących kwestiach.

  • Zaleca się używanie oddzielnych source_directory lokalizacji na potrzeby oddzielnych kroków. Jeśli wszystkie skrypty w krokach potoku znajdują się w jednym katalogu, skrót tego katalogu zmienia się za każdym razem, gdy wprowadzasz zmianę do jednego skryptu wymuszając ponowne uruchomienie wszystkich kroków. Aby zapoznać się z przykładem użycia oddzielnych katalogów dla różnych kroków, zobacz https://aka.ms/pl-get-started.

  • Utrzymywanie oddzielnych folderów dla skryptów i plików zależnych dla każdego kroku pomaga zmniejszyć rozmiar migawki utworzonej dla każdego kroku, ponieważ tylko określony folder jest migawek. Ponieważ zmiany w plikach w source_directory kroku wyzwalają ponowne przekazanie migawki, utrzymywanie oddzielnych folderów w każdym kroku ułatwia ponowne użycie kroków w potoku, ponieważ jeśli nie ma żadnych zmian w source_directory kroku, poprzedni przebieg zostanie ponownie użyty.

  • Jeśli dane używane w kroku są w magazynie danych, a allow_reuse ma wartość True, zmiany w zmianie danych nie zostaną wykryte. Jeśli dane są przekazywane w ramach migawki (w ramach source_directory kroku), choć nie jest to zalecane, skrót zmieni się i wyzwoli ponowne uruchomienie.

Metody

create_input_output_bindings

Tworzenie powiązań wejściowych i wyjściowych na podstawie danych wejściowych i wyjściowych kroku.

create_module_def

Utwórz obiekt definicji modułu, który opisuje krok.

create_node

Utwórz węzeł dla grafu potoku na podstawie tego kroku.

get_source_directory

Pobierz katalog źródłowy dla kroku i sprawdź, czy skrypt istnieje.

resolve_input_arguments

Dopasuj dane wejściowe i wyjściowe do argumentów, aby utworzyć ciąg argumentu.

run_after

Uruchom ten krok po określonym kroku.

validate_arguments

Sprawdź, czy dane wejściowe i wyjściowe kroku podane w argumentach znajdują się na listach danych wejściowych i wyjściowych.

create_input_output_bindings

Tworzenie powiązań wejściowych i wyjściowych na podstawie danych wejściowych i wyjściowych kroku.

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

Parametry

Nazwa Opis
inputs
Wymagane

Lista danych wejściowych kroków.

outputs
Wymagane

Lista danych wyjściowych kroku.

default_datastore
Wymagane

Domyślny magazyn danych.

resource_inputs

Lista danych wejściowych, które mają być używane jako zasoby. Zasoby są pobierane do folderu script i umożliwiają zmianę zachowania skryptu w czasie wykonywania.

Domyślna wartość: None

Zwraca

Typ Opis

Krotka powiązań wejściowych i powiązań wyjściowych.

create_module_def

Utwórz obiekt definicji modułu, który opisuje krok.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)

Parametry

Nazwa Opis
execution_type
Wymagane
str

Typ wykonywania modułu.

input_bindings
Wymagane

Powiązania wejściowe kroku.

output_bindings
Wymagane

Powiązania wyjściowe kroku.

param_defs

Definicje parametrów kroku.

Domyślna wartość: None
create_sequencing_ports

Określa, czy porty sekwencjonowania zostaną utworzone dla modułu.

Domyślna wartość: True
allow_reuse

Określa, czy moduł będzie dostępny do ponownego użycia w przyszłych potokach.

Domyślna wartość: True
version
str

Wersja modułu.

Domyślna wartość: None
module_type
str

Typ modułu dla usługi tworzenia modułu do utworzenia. Obecnie obsługiwane są tylko dwa typy: "None" i "BatchInferencing". module_type różni się od execution_type tego, które określa rodzaj usługi zaplecza, która ma być używana do uruchamiania tego modułu.

Domyślna wartość: None
arguments

Lista argumentów z adnotacjami do użycia podczas wywoływania tego modułu

Domyślna wartość: None
runconfig
str

Runconfig, który będzie używany do python_script_step

Domyślna wartość: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

Ustawienia, które będą używane dla chmur

Domyślna wartość: None

Zwraca

Typ Opis

Obiekt definicji modułu.

create_node

Utwórz węzeł dla grafu potoku na podstawie tego kroku.

abstract create_node(graph, default_datastore, context)

Parametry

Nazwa Opis
graph
Wymagane

Wykres do dodania węzła.

default_datastore
Wymagane

Domyślny magazyn danych do użycia w tym kroku.

context
Wymagane
<xref:azureml.pipeline.core._GraphContext>

Obiekt kontekstu grafu.

Zwraca

Typ Opis

Utworzony węzeł.

get_source_directory

Pobierz katalog źródłowy dla kroku i sprawdź, czy skrypt istnieje.

get_source_directory(context, source_directory, script_name)

Parametry

Nazwa Opis
context
Wymagane
<xref:azureml.pipeline.core._GraphContext>

Obiekt kontekstu grafu.

source_directory
Wymagane
str

Katalog źródłowy dla kroku.

script_name
Wymagane
str

Nazwa skryptu dla kroku.

hash_paths
Wymagane

Ścieżki skrótu do użycia podczas określania odcisku palca modułu.

Zwraca

Typ Opis

Katalog źródłowy i ścieżki skrótu.

resolve_input_arguments

Dopasuj dane wejściowe i wyjściowe do argumentów, aby utworzyć ciąg argumentu.

static resolve_input_arguments(arguments, inputs, outputs, params)

Parametry

Nazwa Opis
arguments
Wymagane

Lista argumentów kroków.

inputs
Wymagane

Lista danych wejściowych kroków.

outputs
Wymagane

Lista danych wyjściowych kroków.

params
Wymagane

Lista parametrów kroku.

Zwraca

Typ Opis

Zwraca krotkę dwóch elementów. Pierwsza to płaska lista elementów dla rozpoznanych argumentów. Drugi to lista argumentów strukturalnych (_InputArgument, _OutputArgument, _ParameterArgument i _StringArgument)

run_after

Uruchom ten krok po określonym kroku.

run_after(step)

Parametry

Nazwa Opis
step
Wymagane

Krok potoku do uruchomienia przed tym krokiem.

Uwagi

Jeśli chcesz uruchomić krok, na przykład krok 3 po zakończeniu kroków 1 i krok2, możesz użyć:


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

Sprawdź, czy dane wejściowe i wyjściowe kroku podane w argumentach znajdują się na listach danych wejściowych i wyjściowych.

static validate_arguments(arguments, inputs, outputs)

Parametry

Nazwa Opis
arguments
Wymagane

Lista argumentów kroków.

inputs
Wymagane

Lista danych wejściowych kroków.

outputs
Wymagane

Lista danych wyjściowych kroku.