Freigeben über


ParallelRunStep Klasse

Erstellt einen Azure Machine Learning Pipeline-Schritt, um große Datenmengen asynchron und parallel zu verarbeiten.

Ein Beispiel für die Verwendung von ParallelRunStep finden Sie im Notizbuch https://aka.ms/batch-inference-notebooks.

Anleitung zur Problembehandlung finden Sie unter https://aka.ms/prstsg. Weitere Referenzen finden Sie dort.

Erstellen Sie einen Azure ML-Pipelineschritt, um große Datenmengen asynchron und parallel zu verarbeiten.

Ein Beispiel für die Verwendung von ParallelRunStep finden Sie unter dem Notizbuchlink https://aka.ms/batch-inference-notebooks.

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 Gedankenstrichen bestehen, mit einem Buchstaben beginnen und zwischen 3 und 32 Zeichen lang sein.

parallel_run_config
Erforderlich

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

inputs
Erforderlich

Liste der Eingabedatensätze. Alle Datasets in der Liste sollten vom gleichen Typ sein. Eingabedaten werden für die parallele Verarbeitung partitioniert. Jedes Dataset in der Liste wird separat in Minibatches partitioniert, und jeder Minibatch wird in der parallelen Verarbeitung gleich behandelt.

output

Die Ausgabeportbindung kann von späteren Pipelineschritten verwendet werden.

Standardwert: None
side_inputs

Liste der seitenseitigen Eingabereferenzdaten. 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

Gibt an, ob der Schritt frühere Ergebnisse wiederverwenden soll, wenn er mit denselben Einstellungen/Eingaben ausgeführt wird. Wenn dies "false" ist, wird während der Pipelineausführung immer eine neue Ausführung für diesen Schritt generiert.

Standardwert: True
name
Erforderlich
str

Name des Schritts. Muss für den Arbeitsbereich eindeutig sein, nur aus Kleinbuchstaben, Zahlen oder Gedankenstrichen bestehen, mit einem Buchstaben beginnen und zwischen 3 und 32 Zeichen lang sein.

parallel_run_config
Erforderlich

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

inputs
Erforderlich

Liste der Eingabedatensätze. Alle Datasets in der Liste sollten vom gleichen Typ sein. Eingabedaten werden für die parallele Verarbeitung partitioniert. Jedes Dataset in der Liste wird separat in Minibatches partitioniert, und jeder Minibatch wird in der parallelen Verarbeitung gleich behandelt.

output
Erforderlich

Die Ausgabeportbindung kann von späteren Pipelineschritten verwendet werden.

side_inputs
Erforderlich

Liste der seitenseitigen Eingabereferenzdaten. Seiteneingaben werden nicht als Eingabedaten partitioniert.

arguments
Erforderlich

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

allow_reuse
Erforderlich

Gibt an, ob der Schritt frühere Ergebnisse wiederverwenden soll, wenn er mit denselben Einstellungen/Eingaben ausgeführt wird. Wenn dies "false" ist, wird während der Pipelineausführung immer eine neue Ausführung für diesen Schritt 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 Anzahl der Batchgrößenknoten und andere tunbare Parameter zum Beschleunigen der parallelen Verarbeitung können mit der ParallelRunConfig Klasse gesteuert werden. ParallelRunStep kann entweder oder TabularDatasetFileDataset als Eingabe verwendet werden.

Verwenden Sie „ParallelRunStep“ wie folgt:

  • Erstellen Sie ein ParallelRunConfig Objekt, um anzugeben, wie die Batchverarbeitung ausgeführt wird, mit Parametern zum Steuern der Batchgröße, der Anzahl von Knoten pro Computeziel und einem 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 genauso Pipeline wie bei anderen Pipelineschritttypen.

Beispiele für das Arbeiten mit ParallelRunStep- und ParallelRunConfig-Klassen für batchinference 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 Notizbuch https://aka.ms/batch-inference-notebooks.

Methoden

create_module_def

Erstellen Sie das Moduldefinitionsobjekt, das den Schritt beschreibt.

Diese Methode soll nicht direkt verwendet werden.

create_node

Erstellen Sie einen Knoten für PythonScriptStep das angegebene Diagramm, und fügen Sie ihn dem angegebenen Diagramm hinzu.

Diese Methode soll nicht direkt verwendet werden. Wenn eine Pipeline mit ParallelRunStep instanziiert wird, übergibt Azure Machine Learning automatisch die für diese Methode erforderlichen Parameter, damit der Schritt einem Pipelinediagramm hinzugefügt werden kann, das den Workflow darstellt.

create_module_def

Erstellen Sie das Moduldefinitionsobjekt, das den Schritt beschreibt.

Diese Methode soll nicht direkt verwendet werden.

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 Schritt-Paramdefinitionen.

Standardwert: None
create_sequencing_ports

Bei "true" werden Sequenzierungsports für das Modul erstellt.

Standardwert: True
allow_reuse

Wenn true, steht das Modul zur Verfügung, das in zukünftigen Pipelines wiederverwendet werden kann.

Standardwert: True
version
str

Die Version des Moduls.

Standardwert: None
arguments

Liste mit kommentierten Argumenten, die beim Aufrufen dieses Moduls verwendet werden sollen.

Standardwert: None

Gibt zurück

Typ Beschreibung

Das Modul def-Objekt.

create_node

Erstellen Sie einen Knoten für PythonScriptStep das angegebene Diagramm, und fügen Sie ihn dem angegebenen Diagramm hinzu.

Diese Methode soll nicht direkt verwendet werden. Wenn eine Pipeline mit ParallelRunStep instanziiert wird, übergibt Azure Machine Learning automatisch die für diese Methode erforderlichen Parameter, damit der Schritt einem Pipelinediagramm hinzugefügt werden kann, das 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>

Zusammenhang.

Gibt zurück

Typ Beschreibung

Der erstellte Knoten.