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
- name
- 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
- ParallelRunConfig
Obiekt ParallelRunConfig używany do określania wymaganych właściwości przebiegu.
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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.
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]]
Lista danych referencyjnych danych wejściowych po stronie. Dane wejściowe po stronie nie będą partycjonowane jako dane wejściowe.
Lista argumentów wiersza polecenia do przekazania do entry_script języka Python.
- allow_reuse
- bool
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
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
Obiekt ParallelRunConfig używany do określania wymaganych właściwości przebiegu.
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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
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]]
Lista danych referencyjnych danych wejściowych po stronie. Dane wejściowe po stronie nie będą partycjonowane jako dane wejściowe.
Lista argumentów wiersza polecenia do przekazania do entry_script języka Python.
- allow_reuse
- bool
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
- create_sequencing_ports
- bool
W przypadku wartości true porty sekwencjonowania zostaną utworzone dla modułu.
- allow_reuse
- bool
Jeśli to prawda, moduł będzie dostępny do ponownego użycia w przyszłych potokach.
- arguments
- list
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
- default_datastore
- AbstractAzureStorageDatastore lub AzureDataLakeDatastore
Domyślny magazyn danych.
- context
- <xref:azureml.pipeline.core._GraphContext>
Kontekście.
Zwraca
Utworzony węzeł.
Typ zwracany
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla