ParallelRunStep Klasse
Erstellt einen Azure Machine Learning-Pipelineschritt, um große Datenmengen asynchron und parallel zu verarbeiten.
Ein Beispiel für die Verwendung von „ParallelRunStep“ finden Sie im Notebook https://aka.ms/batch-inference-notebooks.
Einen Leitfaden zur Problembehandlung finden Sie unter https://aka.ms/prstsg. Weitere Referenzen finden Sie hier.
Erstellen Sie einen Azure ML Pipeline-Schritt, um große Datenmengen asynchron und parallel zu verarbeiten.
Ein Beispiel für die Verwendung von ParallelRunStep finden Sie im Notebooklink https://aka.ms/batch-inference-notebooks.
- Vererbung
-
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)
Parameter
- name
- str
Name des Schritts Muss für den Arbeitsbereich eindeutig sein, nur aus Kleinbuchstaben, Zahlen oder Bindestrichen bestehen, mit einem Buchstaben beginnen und zwischen 3 und 32 Zeichen lang sein.
- parallel_run_config
- ParallelRunConfig
Ein ParallelRunConfig-Objekt, das zum Bestimmen der erforderlichen Ausführungseigenschaften verwendet wird
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Eine Liste der Eingabedatasets. Alle Datasets in der Liste sollten denselben Typ haben. Eingabedaten werden für die parallele Verarbeitung aufgeteilt. Jedes Dataset in der Liste wird separat in Mini-Batches unterteilt, die bei der parallelen Verarbeitung gleich behandelt werden.
Ausgabeportbindung,die in späteren Pipelineschritten verwendet werden kann
- side_inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Liste der Seiteneingabe-Verweisdaten Seiteneingaben werden nicht als Eingabedaten partitioniert.
Liste der Befehlszeilenargumente, die an das Python-„entry_script“ übergeben werden sollen
- allow_reuse
- bool
Angabe, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen/Eingaben ausgeführt wird. Wenn dies auf „False“ festgelegt ist, wird für diesen Schritt während der Pipelineausführung immer eine neue Ausführung generiert.
- name
- str
Name des Schritts Muss für den Arbeitsbereich eindeutig sein, nur aus Kleinbuchstaben, Zahlen oder Bindestrichen bestehen, mit einem Buchstaben beginnen und zwischen 3 und 32 Zeichen lang sein.
- parallel_run_config
- ParallelRunConfig
Ein ParallelRunConfig-Objekt, das zum Bestimmen der erforderlichen Ausführungseigenschaften verwendet wird
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Eine Liste der Eingabedatasets. Alle Datasets in der Liste sollten denselben Typ haben. Eingabedaten werden für die parallele Verarbeitung aufgeteilt. Jedes Dataset in der Liste wird separat in Mini-Batches unterteilt, die bei der parallelen Verarbeitung gleich behandelt werden.
- output
- PipelineData, OutputPortBinding
Ausgabeportbindung,die in späteren Pipelineschritten verwendet werden kann
- side_inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Liste der Seiteneingabe-Verweisdaten Seiteneingaben werden nicht als Eingabedaten partitioniert.
Liste der Befehlszeilenargumente, die an das Python-„entry_script“ übergeben werden sollen
- allow_reuse
- bool
Angabe, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen/Eingaben ausgeführt wird. Wenn dies auf „False“ festgelegt ist, wird für diesen Schritt während der Pipelineausführung immer eine neue Ausführung generiert.
Hinweise
„ParallelRunStep“ kann für die parallele Verarbeitung großer Datenmengen verwendet werden. Häufige Anwendungsfälle sind das Trainieren eines ML-Modells oder das Ausführen von Offline-Rückschlussvorgängen, um Vorhersagen für eine Gruppe von Beobachtungen zu generieren. Bei „ParallelRunStep“ werden Ihre Daten in Gruppen (Batches) unterteilt, die parallel verarbeitet werden. Die Batchgröße, die Knotenanzahl und andere optimierbare Parameter für die Beschleunigung der Parallelverarbeitung können mit der ParallelRunConfig-Klasse gesteuert werden. Für „ParallelRunStep“ kann entweder TabularDataset oder FileDataset als Eingabe genutzt werden.
Verwenden Sie „ParallelRunStep“ wie folgt:
Erstellen Sie ein ParallelRunConfig-Objekt, um anzugeben, wie die Batchverarbeitung durchgeführt wird. Verwenden Sie die Parameter zum Steuern der Batchgröße und der Anzahl von Knoten pro Computeziel und einen Verweis auf Ihr benutzerdefiniertes Python-Skript.
Erstellen Sie ein „ParallelRunStep“-Objekt, für das das „ParallelRunConfig“-Objekt verwendet wird, und definieren Sie Ein- und Ausgaben für den Schritt.
Verwenden Sie das konfigurierte „ParallelRunStep“-Objekt in einer Pipeline, wie Sie dies auch bei anderen Pipelineschritttypen durchführen.
Beispiele für die Arbeit mit den Klassen ParallelRunStep und ParallelRunConfig für Batchrückschlüsse werden in den folgenden Artikeln erläutert:
Tutorial: Erstellen einer Azure Machine Learning-Pipeline für die Batchbewertung In diesem Artikel wird veranschaulicht, wie Sie diese beiden Klassen für die asynchrone Batchbewertung in einer Pipeline verwenden und für einen REST-Endpunkt die Ausführung der Pipeline ermöglichen.
Ausführen von Batchrückschlüssen für große Datenmengen mithilfe von Azure Machine Learning In diesem Artikel wird veranschaulicht, wie Sie große Datenmengen asynchron und parallel mit einem benutzerdefinierten Rückschlussskript und einem vortrainierten Bildklassifizierungsmodell auf Basis einer MNIST-Datenbank verarbeiten.
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
)
Weitere Informationen zu diesem Beispiel finden Sie im Notebook https://aka.ms/batch-inference-notebooks.
Methoden
create_module_def |
Erstellt das Moduldefinitionsobjekt, das den Schritt beschreibt Diese Methode ist nicht zur direkten Nutzung vorgesehen. |
create_node |
Erstellt einen Knoten für PythonScriptStep und fügt ihn dem angegebenen Graphen hinzu Diese Methode ist nicht zur direkten Nutzung vorgesehen. Wenn eine Pipeline mit ParallelRunStep instanziiert wird, übergibt Azure Machine Learning die erforderlichen Parameter automatisch über diese Methode, sodass der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt. |
create_module_def
Erstellt das Moduldefinitionsobjekt, das den Schritt beschreibt
Diese Methode ist nicht zur direkten Nutzung vorgesehen.
create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)
Parameter
- create_sequencing_ports
- bool
Wenn „True“ festgelegt ist, werden Sequenzierungsports für das Modul erstellt
- allow_reuse
- bool
Wenn „True“ festgelegt ist, kann das Modul in zukünftigen Pipelines wiederverwendet werden
- arguments
- list
Liste der annotierten Argumente, die beim Aufrufen dieses Moduls verwendet werden sollen
Gibt zurück
Das ModuleDef-Objekt
Rückgabetyp
create_node
Erstellt einen Knoten für PythonScriptStep und fügt ihn dem angegebenen Graphen hinzu
Diese Methode ist nicht zur direkten Nutzung vorgesehen. Wenn eine Pipeline mit ParallelRunStep instanziiert wird, übergibt Azure Machine Learning die erforderlichen Parameter automatisch über diese Methode, sodass der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.
create_node(graph, default_datastore, context)
Parameter
- default_datastore
- AbstractAzureStorageDatastore oder AzureDataLakeDatastore
Standarddatenspeicher
- context
- <xref:azureml.pipeline.core._GraphContext>
Kontext.
Gibt zurück
Der erstellte Knoten
Rückgabetyp
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für