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._ParallelRunStepBaseParallelRunStep
Konstruktor
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
Parametry
Nazwa | Opis |
---|---|
name
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
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
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
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
|
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
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
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:
Samouczek: Tworzenie potoku usługi Azure Machine Learning na potrzeby wsadowego oceniania. W tym artykule przedstawiono sposób użycia tych dwóch klas do asynchronicznego oceniania wsadowego w potoku oraz sposób włączenia punktu końcowego REST w celu uruchomienia potoku.
Uruchamianie wnioskowania wsadowego dla dużych ilości danych za pomocą usługi Azure Machine Learning. W tym artykule pokazano, jak przetwarzać duże ilości danych asynchronicznie i równolegle za pomocą niestandardowego skryptu wnioskowania oraz wstępnie wytrenowanego modelu klasyfikacji obrazów na podstawie zestawu danych MNIST.
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
|
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
|
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ł. |