Udostępnij za pośrednictwem


ParallelRunStep Klasa

Tworzy krok potoku usługi Azure Machine Learning w celu przetwarzania dużych ilości danych asynchronicznie i równolegle.

Przykład użycia metody ParallelRunStep można znaleźć w notesie https://aka.ms/batch-inference-notebooks.

Aby uzyskać informacje na temat rozwiązywania problemów, zobacz https://aka.ms/prstsg. Więcej odwołań można znaleźć w tym miejscu.

Utwórz krok potoku usługi Azure ML, aby przetwarzać duże ilości danych asynchronicznie i równolegle.

Aby zapoznać się z przykładem użycia metody ParallelRunStep, zobacz link https://aka.ms/batch-inference-notebooksnotesu .

Dziedziczenie
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

Konstruktor

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

Parametry

Nazwa Opis
name
Wymagane
str

Nazwa kroku. Musi być unikatowy dla obszaru roboczego, składać się tylko z małych liter, cyfr lub kresek, zaczynać się literą i mieć długość od 3 do 32 znaków.

parallel_run_config
Wymagane

Obiekt ParallelRunConfig używany do określania wymaganych właściwości przebiegu.

inputs
Wymagane

Lista wejściowych zestawów danych. Wszystkie zestawy danych na liście powinny być tego samego typu. Dane wejściowe będą partycjonowane na potrzeby przetwarzania równoległego. Każdy zestaw danych na liście jest podzielony na minisady oddzielnie, a każda z minisadów jest traktowana równie w przetwarzaniu równoległym.

output

Powiązanie portu wyjściowego może być używane przez późniejsze kroki potoku.

Domyślna wartość: None
side_inputs

Lista danych referencyjnych danych wejściowych po stronie. Dane wejściowe po stronie nie będą partycjonowane jako dane wejściowe.

Domyślna wartość: None
arguments

Lista argumentów wiersza polecenia do przekazania do entry_script języka Python.

Domyślna wartość: None
allow_reuse

Czy krok powinien ponownie używać poprzednich wyników podczas uruchamiania z tymi samymi ustawieniami/danymi wejściowymi. Jeśli jest to fałsz, nowy przebieg będzie zawsze generowany dla tego kroku podczas wykonywania potoku.

Domyślna wartość: True
name
Wymagane
str

Nazwa kroku. Musi być unikatowy dla obszaru roboczego, składać się tylko z małych liter, cyfr lub kresek, zaczynać się literą i mieć długość od 3 do 32 znaków.

parallel_run_config
Wymagane

Obiekt ParallelRunConfig używany do określania wymaganych właściwości przebiegu.

inputs
Wymagane

Lista wejściowych zestawów danych. Wszystkie zestawy danych na liście powinny być tego samego typu. Dane wejściowe będą partycjonowane na potrzeby przetwarzania równoległego. Każdy zestaw danych na liście jest podzielony na minisady oddzielnie, a każda z minisadów jest traktowana równie w przetwarzaniu równoległym.

output
Wymagane

Powiązanie portu wyjściowego może być używane przez późniejsze kroki potoku.

side_inputs
Wymagane

Lista danych referencyjnych danych wejściowych po stronie. Dane wejściowe po stronie nie będą partycjonowane jako dane wejściowe.

arguments
Wymagane

Lista argumentów wiersza polecenia do przekazania do entry_script języka Python.

allow_reuse
Wymagane

Czy krok powinien ponownie używać poprzednich wyników podczas uruchamiania z tymi samymi ustawieniami/danymi wejściowymi. Jeśli jest to fałsz, nowy przebieg będzie zawsze generowany dla tego kroku podczas wykonywania potoku.

Uwagi

Klasa ParallelRunStep może służyć do równoległego przetwarzania dużych ilości danych. Typowe przypadki użycia to trenowanie modelu uczenia maszynowego lub uruchamianie wnioskowania w trybie offline w celu generowania przewidywań na podstawie partii obserwacji. Działanie klasy ParallelRunStep polega na podziale danych na partie przetwarzane równolegle. Liczba węzłów rozmiaru partii i inne parametry, które można dostrajać, aby przyspieszyć przetwarzanie równoległe, można kontrolować za ParallelRunConfig pomocą klasy . Element ParallelRunStep może pracować z danymi wejściowymi TabularDataset lub FileDataset .

Aby użyć klasy ParallelRunStep:

  • ParallelRunConfig Utwórz obiekt w celu określenia sposobu wykonywania przetwarzania wsadowego z parametrami służącymi do kontrolowania rozmiaru partii, liczby węzłów na docelowy obiekt obliczeniowy i odwołania do niestandardowego skryptu języka Python.

  • Utwórz obiekt ParallelRunStep, który używa obiektu ParallelRunConfig. Zdefiniuj dane wejściowe i wyjściowe kroku.

  • Użyj skonfigurowanego obiektu ParallelRunStep w taki sam sposób, jak w Pipeline przypadku innych typów kroków potoku.

Przykłady pracy z klasami ParallelRunStep i ParallelRunConfig na potrzeby wnioskowania wsadowego zostały omówione w następujących artykułach:


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

Aby uzyskać więcej informacji na temat tego przykładu, zobacz notes https://aka.ms/batch-inference-notebooks.

Metody

create_module_def

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

Ta metoda nie jest przeznaczona do bezpośredniego użycia.

create_node

Utwórz węzeł dla PythonScriptStep elementu i dodaj go do określonego grafu.

Ta metoda nie jest przeznaczona do bezpośredniego użycia. Po utworzeniu wystąpienia potoku za pomocą klasy ParallelRunStep usługa Azure Machine Learning automatycznie przekazuje wymagane parametry za pośrednictwem tej metody, aby można było dodać krok do grafu potoku reprezentującego przepływ pracy.

create_module_def

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

Ta metoda nie jest przeznaczona do bezpośredniego użycia.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=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 kroków.

Domyślna wartość: None
create_sequencing_ports

W przypadku wartości true porty sekwencjonowania zostaną utworzone dla modułu.

Domyślna wartość: True
allow_reuse

Jeśli to prawda, 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
arguments

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

Domyślna wartość: None

Zwraca

Typ Opis

Obiekt def modułu.

create_node

Utwórz węzeł dla PythonScriptStep elementu i dodaj go do określonego grafu.

Ta metoda nie jest przeznaczona do bezpośredniego użycia. Po utworzeniu wystąpienia potoku za pomocą klasy ParallelRunStep usługa Azure Machine Learning automatycznie przekazuje wymagane parametry za pośrednictwem tej metody, aby można było dodać krok do grafu potoku reprezentującego przepływ pracy.

create_node(graph, default_datastore, context)

Parametry

Nazwa Opis
graph
Wymagane

Obiekt grafu.

default_datastore
Wymagane

Domyślny magazyn danych.

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

Kontekście.

Zwraca

Typ Opis

Utworzony węzeł.