Freigeben über


ModuleStep Klasse

Erstellt einen Azure Machine Learning-Pipelineschritt zum Ausführen einer bestimmten Version eines Moduls.

Module-Objekte definieren wiederverwendbare Berechnungen, z. B. Skripts oder ausführbare Dateien, die in verschiedenen Machine Learning-Szenarios und von verschiedenen Benutzer*innen verwendet werden können. Um eine bestimmte Version eines Moduls in einer Pipeline zu verwenden, erstellen Sie einen ModuleStep. Ein ModuleStep ist ein Schritt in der Pipeline, der eine vorhandene ModuleVersion verwendet.

Ein Beispiel für die Verwendung von ModuleStep finden Sie im Notebook https://aka.ms/pl-modulestep.

Erstellen Sie einen Azure ML-Pipelineschritt, um eine bestimmte Version eines Moduls auszuführen.

Vererbung
ModuleStep

Konstruktor

ModuleStep(module=None, version=None, module_version=None, inputs_map=None, outputs_map=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, arguments=None, params=None, name=None, _workflow_provider=None)

Parameter

Name Beschreibung
module

Das im Schritt verwendete Modul. Geben Sie entweder den module-Parameter oder den module_version-Parameter an, aber nicht beide.

Standardwert: None
version
str

Die Version des im Schritt verwendeten Moduls.

Standardwert: None
module_version

Eine Modulversion (ModuleVersion) des im Schritt verwendeten Moduls. Geben Sie entweder den module-Parameter oder den module_version-Parameter an, aber nicht beide.

Standardwert: None
inputs_map

Ein Wörterbuch, das die Namen von ModuleVersion-Portdefinitionen den Eingaben des Schritts zuordnet.

Standardwert: None
outputs_map

Ein Wörterbuch, das die Namen von ModuleVersion-Portdefinitionen den Ausgaben des Schritts zuordnet.

Standardwert: None
compute_target

Das zu verwendende Computeziel. Ohne Angabe wird das Ziel aus der Ausführungskonfiguration (runconfig) verwendet. Kann ein Computezielobjekt oder der Zeichenfolgenname eines Computeziels im Arbeitsbereich sein. Wenn das Computeziel zum Zeitpunkt der Pipelineerstellung nicht verfügbar ist, können Sie optional das Tupel („Computezielname“, „Computezieltyp“) angeben, um das Abrufen des Computezielobjekts zu vermeiden (AmlCompute-Typ ist „AmlCompute“ und RemoteCompute-Typ ist „VirtualMachine“).

Standardwert: None
runconfig

Eine optionale Ausführungskonfiguration (RunConfiguration), die verwendet werden soll. Eine Ausführungskonfiguration (RunConfiguration) kann verwendet werden, um zusätzliche Anforderungen für die Ausführung anzugeben, z. B. Conda-Abhängigkeiten und ein Docker-Image.

Standardwert: None
runconfig_pipeline_params

Eine Überschreibung von runconfig-Eigenschaften zur Laufzeit unter Verwendung von Schlüssel-Wert-Paaren mit jeweils dem Namen der runconfig-Eigenschaft und „PipelineParameter“ für diese Eigenschaft.

Unterstützte Werte: „NodeCount“, „MpiProcessCountPerNode“, „TensorflowWorkerCount“, „TensorflowParameterServerCount“

Standardwert: None
arguments

Eine Liste mit Befehlszeilenargumenten für die Python-Skriptdatei. Die Argumente werden über Argumente in der Ausführungskonfiguration (RunConfiguration) an das Computeziel übermittelt. Weitere Informationen zum Behandeln von Argumenten wie Sondersymbolen finden Sie in den Argumenten unter RunConfiguration.

Standardwert: None
params

Ein Wörterbuch mit Name-Wert-Paaren.

Standardwert: None
name
str

Der Name des Schritts.

Standardwert: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(Nur interne Verwendung.) Der Workflowanbieter.

Standardwert: None
module
Erforderlich

Das im Schritt verwendete Modul. Geben Sie entweder den module-Parameter oder den module_version-Parameter an, aber nicht beide.

version
Erforderlich
str

Die Version des im Schritt verwendeten Moduls.

module_version
Erforderlich

Die ModuleVersion des moduls, das im Schritt verwendet wird. Geben Sie entweder den module-Parameter oder den module_version-Parameter an, aber nicht beide.

inputs_map
Erforderlich
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, DatasetConsumptionConfig]]

Ein Wörterbuch, das die Namen von ModuleVersion-Portdefinitionen den Eingaben des Schritts zuordnet.

outputs_map
Erforderlich
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>]]

Ein Wörterbuch, das die Namen von ModuleVersion-Portdefinitionen den Ausgaben des Schritts zuordnet.

compute_target
Erforderlich

Das zu verwendende Computeziel. Ohne Angabe wird das Ziel aus der Ausführungskonfiguration (runconfig) verwendet. Kann ein Computezielobjekt oder der Zeichenfolgenname eines Computeziels im Arbeitsbereich sein. Wenn das Computeziel zum Zeitpunkt der Pipelineerstellung nicht verfügbar ist, können Sie optional das Tupel („Computezielname“, „Computezieltyp“) angeben, um das Abrufen des Computezielobjekts zu vermeiden (AmlCompute-Typ ist „AmlCompute“ und RemoteCompute-Typ ist „VirtualMachine“).

runconfig
Erforderlich

Eine optionale Ausführungskonfiguration (RunConfiguration), die verwendet werden soll. Eine Ausführungskonfiguration (RunConfiguration) kann verwendet werden, um zusätzliche Anforderungen für die Ausführung anzugeben, z. B. Conda-Abhängigkeiten und ein Docker-Image.

runconfig_pipeline_params
Erforderlich

Eine Überschreibung von runconfig-Eigenschaften zur Laufzeit unter Verwendung von Schlüssel-Wert-Paaren mit jeweils dem Namen der runconfig-Eigenschaft und „PipelineParameter“ für diese Eigenschaft.

Unterstützte Werte: „NodeCount“, „MpiProcessCountPerNode“, „TensorflowWorkerCount“, „TensorflowParameterServerCount“

arguments
Erforderlich

Eine Liste mit Befehlszeilenargumenten für die Python-Skriptdatei. Die Argumente werden über Argumente in der Ausführungskonfiguration (RunConfiguration) an das Computeziel übermittelt. Weitere Informationen zum Behandeln von Argumenten wie Sondersymbolen finden Sie in den Argumenten unter RunConfiguration.

params
Erforderlich

Ein Wörterbuch mit Name-Wert-Paaren.

name
Erforderlich
str

Der Name des Schritts.

_wokflow_provider
Erforderlich

(Nur interne Verwendung.) Der Workflowanbieter.

Hinweise

Ein Modul (Module) wird verwendet, um eine wiederverwendbare Computeeinheit einer Azure Machine Learning-Pipeline zu erstellen und zu verwalten. „ModuleStep“ ist der integrierte Schritt in Azure Machine Learning zur Nutzung eines Moduls. Sie können entweder explizit definieren, welche Modulversion (ModuleVersion) verwendet werden soll, oder die zu verwendende Modulversion von Azure Machine Learning auflösen lassen (unter Verwendung des Auflösungsprozesses, der im Hinweisabschnitt der Module-Klasse definiert ist). Um zu definieren, welche Modulversion (ModuleVersion) in einer übermittelten Pipeline verwendet wird, definieren Sie beim Erstellen eines Modulschritts (ModuleStep) eines der folgenden Objekte:

  • Ein ModuleVersion-Objekt.

  • Ein Module-Objekt und einen Versionswert.

  • Ein Module-Objekt ohne Versionswert. In diesem Fall kann die Versionsauflösung je nach Übermittlung variieren.

Sie müssen die Zuordnung zwischen den ModuleStep-Eingaben/-Ausgaben und den ModuleVersion-Eingaben/-Ausgaben definieren.

Das folgende Beispiel zeigt, wie Sie einen Modulschritt (ModuleStep) als Teil der Pipeline mit mehreren ModuleStep-Objekten erstellen:


   middle_step = ModuleStep(module=module,
                            inputs_map= middle_step_input_wiring,
                            outputs_map= middle_step_output_wiring,
                            runconfig=RunConfiguration(), compute_target=aml_compute,
                            arguments = ["--file_num1", first_sum, "--file_num2", first_prod,
                                         "--output_sum", middle_sum, "--output_product", middle_prod])

Das vollständige Beispiel finden Sie unter https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb.

Methoden

create_node

Erstellen eines Knotens auf der Grundlage des ModuleStep-Schritts und Hinzufügen zum angegebenen Graphen.

Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.

create_node

Erstellen eines Knotens auf der Grundlage des ModuleStep-Schritts und Hinzufügen zum angegebenen Graphen.

Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.

create_node(graph, default_datastore, context)

Parameter

Name Beschreibung
graph
Erforderlich

Das Graphobjekt, dem der Knoten hinzugefügt werden soll.

default_datastore
Erforderlich

Der Standarddatenspeicher.

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

Der Graphkontext.

Gibt zurück

Typ Beschreibung

Das Knotenobjekt.