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

name
str
Wymagane

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
ParallelRunConfig
Wymagane

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

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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
Union[PipelineData, OutputPortBinding, OutputDatasetConfig]
wartość domyślna: None

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

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
wartość domyślna: None

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

arguments
list[str]
wartość domyślna: None

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

allow_reuse
bool
wartość domyślna: True

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.

name
str
Wymagane

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
ParallelRunConfig
Wymagane

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

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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
PipelineData, OutputPortBinding
Wymagane

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

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Wymagane

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

arguments
list[str]
Wymagane

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

allow_reuse
bool
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

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 kroków.

create_sequencing_ports
bool
wartość domyślna: True

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

allow_reuse
bool
wartość domyślna: True

Jeśli to prawda, moduł będzie dostępny do ponownego użycia w przyszłych potokach.

version
str
wartość domyślna: None

Wersja modułu.

arguments
list
wartość domyślna: None

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

Zwraca

Obiekt def modułu.

Typ zwracany

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

graph
Graph
Wymagane

Obiekt grafu.

default_datastore
AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Wymagane

Domyślny magazyn danych.

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

Kontekście.

Zwraca

Utworzony węzeł.

Typ zwracany