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

name
str
Wymagane

Nazwa kroku potoku.

inputs
list
Wymagane

Lista danych wejściowych kroków.

outputs
list
Wymagane

Lista danych wyjściowych kroku.

arguments
list
wartość domyślna: None

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

fix_port_name_collisions
bool
wartość domyślna: False

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
list
wartość domyślna: None

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.

name
str
Wymagane

Nazwa kroku potoku.

inputs
list
Wymagane

Lista danych wejściowych kroków.

outputs
list
Wymagane

Lista danych wyjściowych kroku.

arguments
list
Wymagane

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

fix_port_name_collisions
bool
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
list
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

inputs
list
Wymagane

Lista danych wejściowych kroków.

outputs
list
Wymagane

Lista danych wyjściowych kroku.

default_datastore
AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Wymagane

Domyślny magazyn danych.

resource_inputs
list
wartość domyślna: None

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.

Zwraca

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

Typ zwracany

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

execution_type
str
Wymagane

Typ wykonywania modułu.

input_bindings
list
Wymagane

Powiązania wejściowe kroku.

output_bindings
list
Wymagane

Powiązania wyjściowe kroku.

param_defs
list
wartość domyślna: None

Definicje parametrów kroku.

create_sequencing_ports
bool
wartość domyślna: True

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

allow_reuse
bool
wartość domyślna: True

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

version
str
wartość domyślna: None

Wersja modułu.

module_type
str
wartość domyślna: None

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.

arguments
list
wartość domyślna: None

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

runconfig
str
wartość domyślna: None

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

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

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

Zwraca

Obiekt definicji modułu.

Typ zwracany

create_node

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

abstract create_node(graph, default_datastore, context)

Parametry

graph
Graph
Wymagane

Wykres do dodania węzła.

default_datastore
AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Wymagane

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

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

Obiekt kontekstu grafu.

Zwraca

Utworzony węzeł.

Typ zwracany

get_source_directory

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

get_source_directory(context, source_directory, script_name)

Parametry

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

Obiekt kontekstu grafu.

source_directory
str
Wymagane

Katalog źródłowy dla kroku.

script_name
str
Wymagane

Nazwa skryptu dla kroku.

hash_paths
list
Wymagane

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

Zwraca

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

Typ zwracany

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

arguments
list
Wymagane

Lista argumentów kroków.

inputs
list
Wymagane

Lista danych wejściowych kroków.

outputs
list
Wymagane

Lista danych wyjściowych kroków.

params
list
Wymagane

Lista parametrów kroku.

Zwraca

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)

Typ zwracany

run_after

Uruchom ten krok po określonym kroku.

run_after(step)

Parametry

step
PipelineStep
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

arguments
list
Wymagane

Lista argumentów kroków.

inputs
list
Wymagane

Lista danych wejściowych kroków.

outputs
list
Wymagane

Lista danych wyjściowych kroku.