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._ParallelRunStepBase
ParallelRunStep

Konstruktor

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

Parameter

name
str
Erforderlich

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
Erforderlich

Ein ParallelRunConfig-Objekt, das zum Bestimmen der erforderlichen Ausführungseigenschaften verwendet wird

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Erforderlich

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
Union[PipelineData, OutputPortBinding, OutputDatasetConfig]
Standardwert: None

Ausgabeportbindung,die in späteren Pipelineschritten verwendet werden kann

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Standardwert: None

Liste der Seiteneingabe-Verweisdaten Seiteneingaben werden nicht als Eingabedaten partitioniert.

arguments
list[str]
Standardwert: None

Liste der Befehlszeilenargumente, die an das Python-„entry_script“ übergeben werden sollen

allow_reuse
bool
Standardwert: True

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
Erforderlich

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
Erforderlich

Ein ParallelRunConfig-Objekt, das zum Bestimmen der erforderlichen Ausführungseigenschaften verwendet wird

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Erforderlich

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
Erforderlich

Ausgabeportbindung,die in späteren Pipelineschritten verwendet werden kann

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

Liste der Seiteneingabe-Verweisdaten Seiteneingaben werden nicht als Eingabedaten partitioniert.

arguments
list[str]
Erforderlich

Liste der Befehlszeilenargumente, die an das Python-„entry_script“ übergeben werden sollen

allow_reuse
bool
Erforderlich

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:


   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

execution_type
str
Erforderlich

Der Ausführungstyp des Moduls

input_bindings
list
Erforderlich

Die Schritteingabebindungen

output_bindings
list
Erforderlich

Die Schrittausgabebindungen

param_defs
list
Standardwert: None

Die param-Definitionen des Schritts

create_sequencing_ports
bool
Standardwert: True

Wenn „True“ festgelegt ist, werden Sequenzierungsports für das Modul erstellt

allow_reuse
bool
Standardwert: True

Wenn „True“ festgelegt ist, kann das Modul in zukünftigen Pipelines wiederverwendet werden

version
str
Standardwert: None

Die Version des Moduls.

arguments
list
Standardwert: None

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

graph
Graph
Erforderlich

Graph-Objekt

default_datastore
AbstractAzureStorageDatastore oder AzureDataLakeDatastore
Erforderlich

Standarddatenspeicher

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

Kontext.

Gibt zurück

Der erstellte Knoten

Rückgabetyp