PipelineStep Klasa
Reprezentuje krok wykonywania w potoku usługi Azure Machine Learning.
Potoki są konstruowane z 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 to klasa bazowa, z której inne wbudowane klasy kroków przeznaczone 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.
Inicjowanie potokuKrok.
- Dziedziczenie
-
builtins.objectPipelineStep
Konstruktor
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parametry
Nazwa | Opis |
---|---|
name
Wymagane
|
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
|
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 wprowadzisz zmianę do jednego skryptu, zmuszając wszystkie kroki do ponownego uruchomienia. Aby zapoznać się z przykładem użycia oddzielnych katalogów dla różnych kroków, zobacz https://aka.ms/pl-get-started.
Obsługa 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 przekazywanie migawki, utrzymanie oddzielnych folderów w każdym kroku pomaga ponownie użyć 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 zmiany danych nie zostaną wykryte. Jeśli dane zostaną przekazane w ramach migawki (w source_directory kroku), chociaż 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
|
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
|
Wersja modułu. Domyślna wartość: None
|
module_type
|
Typ modułu dla usługi tworzenia modułu do utworzenia. Obecnie obsługiwane są tylko dwa typy: "None" i "BatchInferencing".
Domyślna wartość: None
|
arguments
|
Lista argumentów z adnotacjami do użycia podczas wywoływania tego modułu Domyślna wartość: None
|
runconfig
|
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
|
Katalog źródłowy dla kroku. |
script_name
Wymagane
|
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. |