Freigeben über


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 Beschreibung
name
Erforderlich
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
Erforderlich

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

inputs
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

Ausgabeportbindung,die in späteren Pipelineschritten verwendet werden kann

Standardwert: None
side_inputs

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

Standardwert: None
arguments

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

Standardwert: None
allow_reuse

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.

Standardwert: True
name
Erforderlich
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
Erforderlich

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

inputs
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
Erforderlich

Ausgabeportbindung,die in späteren Pipelineschritten verwendet werden kann

side_inputs
Erforderlich

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

arguments
Erforderlich

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

allow_reuse
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

Name Beschreibung
execution_type
Erforderlich
str

Der Ausführungstyp des Moduls

input_bindings
Erforderlich

Die Schritteingabebindungen

output_bindings
Erforderlich

Die Schrittausgabebindungen

param_defs

Die param-Definitionen des Schritts

Standardwert: None
create_sequencing_ports

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

Standardwert: True
allow_reuse

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

Standardwert: True
version
str

Die Version des Moduls.

Standardwert: None
arguments

Liste der annotierten Argumente, die beim Aufrufen dieses Moduls verwendet werden sollen

Standardwert: None

Gibt zurück

Typ Beschreibung

Das ModuleDef-Objekt

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

Name Beschreibung
graph
Erforderlich

Graph-Objekt

default_datastore
Erforderlich

Standarddatenspeicher

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

Kontext.

Gibt zurück

Typ Beschreibung

Der erstellte Knoten