Module Klasse
Stellt eine Berechnungseinheit dar, die in einer Azure Machine Learning Pipeline verwendet wird.
Ein Modul ist eine Sammlung von Dateien, die auf einem Computeziel ausgeführt werden, und eine Beschreibung einer Schnittstelle. Die Sammlung von Dateien kann Skripts, Binärdateien oder andere Dateien umfassen, die für die Ausführung auf dem Computeziel erforderlich sind. Die Modulschnittstelle beschreibt Eingaben, Ausgaben und Parameterdefinitionen. Sie werden nicht an bestimmte Werte oder Daten gebunden. Einem Modul ist eine Momentaufnahme zugeordnet, die die Sammlung der für das Modul definierten Dateien erfasst.
Initialisieren Des Moduls.
- Vererbung
-
builtins.objectModule
Konstruktor
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
Parameter
- _module_provider
- <xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Nur interne Verwendung.) Der Modulanbieter.
- _module_version_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Nur interne Verwendung.) Der ModuleVersion-Anbieter.
- _module_provider
- <xref:<xref:_AevaMlModuleProvider object>>
Der Modulanbieter.
- _module_version_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
Der ModuleVersion-Anbieter.
Hinweise
Ein Modul fungiert als Container seiner Versionen. Im folgenden Beispiel wird eine ModuleVersion aus der publish_python_script-Methode erstellt und verfügt über zwei Eingaben und zwei Ausgaben. Die Create ModuleVersion ist die Standardversion (is_default
ist auf True festgelegt).
out_sum = OutputPortDef(name="out_sum", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Sum of two numbers")
out_prod = OutputPortDef(name="out_prod", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Product of two numbers")
entry_version = module.publish_python_script("calculate.py", "initial",
inputs=[], outputs=[out_sum, out_prod], params = {"initialNum":12},
version="1", source_directory="./calc")
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.
Dieses Modul kann beim Definieren einer Pipeline in verschiedenen Schritten mithilfe eines ModuleStep verwendet werden.
Im folgenden Beispiel wird gezeigt, wie die in der Pipeline verwendeten Daten mithilfe von PipelineData mit Ein- und Ausgaben einer ModuleVersion verkabelt werden:
middle_step_input_wiring = {"in1":first_sum, "in2":first_prod}
middle_sum = PipelineData("middle_sum", datastore=datastore, output_mode="mount",is_directory=False)
middle_prod = PipelineData("middle_prod", datastore=datastore, output_mode="mount",is_directory=False)
middle_step_output_wiring = {"out_sum":middle_sum, "out_prod":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.
Die Zuordnung kann dann beim Erstellen von ModuleStep verwendet werden:
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.
Die Lösung, welche Version des Moduls bei der Übermittlung verwendet werden soll, folgt dem folgenden Prozess:
- Entfernt alle deaktivierten Versionen
- Wenn eine bestimmte Version angegeben wurde, verwenden Sie diese, sonst
- Wenn eine Standardversion für das Modul definiert wurde, verwenden Sie diese, sonst
- Wenn alle Versionen der semantischen Versionierung ohne Buchstaben folgen, verwenden Sie den höchsten Wert, sonst
- Nehmen Sie die Version des Moduls, das zuletzt aktualisiert wurde
Beachten Sie, dass die Pipelineübermittlung fehlschlägt, da die Zuordnung der Eingaben und Ausgaben eines Knotens zur Ein- und Ausgabe eines Moduls bei der Pipelineerstellung definiert ist, wenn die aufgelöste Version bei der Übermittlung eine andere Schnittstelle als die hat, die bei der Pipelineerstellung aufgelöst wird.
Das zugrunde liegende Modul kann mit neuen Versionen aktualisiert werden, während die Standardversion gleich ist.
Module werden innerhalb eines Arbeitsbereichs eindeutig benannt.
Methoden
create |
Erstellen Sie das Modul. |
deprecate |
Legen Sie das Modul auf "Veraltet" fest. |
disable |
Legen Sie das Modul auf "Deaktiviert" fest. |
enable |
Legen Sie das Modul auf "Aktiv" fest. |
get |
Abrufen des Moduls nach Name oder ID löst eine Ausnahme aus, wenn keines von beiden bereitgestellt wird. |
get_default |
Abrufen der Standardmodulversion. |
get_default_version |
Abrufen der Standardversion des Moduls. |
get_versions |
Abrufen aller Versionen des Moduls. |
module_def_builder |
Erstellt das Moduldefinitionsobjekt, das den Schritt beschreibt. |
module_version_list |
Abrufen der Modulversionsliste. |
process_source_directory |
Verarbeitet das Quellverzeichnis für den Schritt, und überprüft, ob das Skript vorhanden ist. |
publish |
Erstellt eine ModuleVersion, und fügt sie dem aktuellen Modul hinzu. |
publish_adla_script |
Erstellt eine ModuleVersion basierend auf Azure Data Lake Analytics (ADLA), und fügt sie dem aktuellen Modul hinzu. |
publish_azure_batch |
Erstellt eine ModuleVersion, die Azure Batch verwendet, und fügt sie dem aktuellen Modul hinzu. |
publish_python_script |
Erstellt eine ModuleVersion, die auf einem Python-Skript basiert, und fügt sie dem aktuellen Modul hinzu. |
resolve |
Löst die richtige ModuleVersion auf, und gibt sie zurück. |
set_default_version |
Legt die Standardmodulversion des Moduls fest. |
set_description |
Legt die Beschreibung des Moduls fest. |
set_name |
Legt den Namen des Moduls fest. |
create
Erstellen Sie das Modul.
static create(workspace, name, description, _workflow_provider=None)
Parameter
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Nur interne Verwendung.) Der Workflowanbieter.
Gibt zurück
Modulobjekt
Rückgabetyp
deprecate
Legen Sie das Modul auf "Veraltet" fest.
deprecate()
disable
Legen Sie das Modul auf "Deaktiviert" fest.
disable()
enable
Legen Sie das Modul auf "Aktiv" fest.
enable()
get
Abrufen des Moduls nach Name oder ID löst eine Ausnahme aus, wenn keines von beiden bereitgestellt wird.
static get(workspace, module_id=None, name=None, _workflow_provider=None)
Parameter
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Nur interne Verwendung.) Der Workflowanbieter.
Gibt zurück
Modulobjekt
Rückgabetyp
get_default
Abrufen der Standardmodulversion.
get_default()
Gibt zurück
Die Standardmodulversion.
Rückgabetyp
get_default_version
Abrufen der Standardversion des Moduls.
get_default_version()
Gibt zurück
Die Standardversion des Moduls.
Rückgabetyp
get_versions
Abrufen aller Versionen des Moduls.
static get_versions(workspace, name, _workflow_provider=None)
Parameter
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Nur interne Verwendung.) Der Workflowanbieter.
Gibt zurück
Die Liste der ModuleVersionDescriptor
Rückgabetyp
module_def_builder
Erstellt das Moduldefinitionsobjekt, das den Schritt beschreibt.
static module_def_builder(name, description, execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, step_type=None, arguments=None, runconfig=None, cloud_settings=None)
Parameter
- create_sequencing_ports
- bool
Gibt an, ob Sequenzierungsports für das Modul erstellt werden.
- step_type
- str
Schritttyp, der diesem Modul zugeordnet ist, z. B. "PythonScriptStep", "HyperDriveStep" usw.
- arguments
- list
Liste der Argumente mit Anmerkungen, die beim Aufrufen dieses Moduls verwendet werden sollen
- runconfig
- str
Ausführungskonfiguration, die für „python_script_step“ verwendet wird.
Gibt zurück
Das Modul-Def-Objekt.
Rückgabetyp
Ausnahmen
module_version_list
Abrufen der Modulversionsliste.
module_version_list()
Gibt zurück
Die Liste der ModuleVersionDescriptor
Rückgabetyp
process_source_directory
Verarbeitet das Quellverzeichnis für den Schritt, und überprüft, ob das Skript vorhanden ist.
static process_source_directory(name, source_directory, script_name)
Parameter
Gibt zurück
Das Quellverzeichnis und die Hashpfade.
Rückgabetyp
Ausnahmen
publish
Erstellt eine ModuleVersion, und fügt sie dem aktuellen Modul hinzu.
publish(description, execution_type, inputs, outputs, param_defs=None, create_sequencing_ports=True, version=None, is_default=False, content_path=None, hash_paths=None, category=None, arguments=None, runconfig=None)
Parameter
- execution_type
- str
Der Ausführungstyp des Moduls.
Mögliche Werte sind esCloud
, adlcloud
und AzureBatchCloud
.
- create_sequencing_ports
- bool
Gibt an, ob Sequenzierungsports für das Modul erstellt werden.
- is_default
- bool
Gibt an, ob die veröffentlichte Version die Standardversion sein soll.
- hash_paths
- list
Eine Liste der Pfade, die bei der Überprüfung auf Änderungen am Schrittinhalt gehasht werden müssen. Wenn keine Änderungen erkannt werden, verwendet die Pipeline den Schrittinhalt einer vorherigen Ausführung erneut. Inhalte von source_directory
werden standardmäßig hashcodiert (mit Ausnahme der in .amlignore und .gitignore aufgeführten Dateien).
VERALTET: nicht mehr erforderlich.
- arguments
- list
Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.
- runconfig
- RunConfiguration
Eine optionale RunConfiguration. 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.
Rückgabetyp
Ausnahmen
publish_adla_script
Erstellt eine ModuleVersion basierend auf Azure Data Lake Analytics (ADLA), und fügt sie dem aktuellen Modul hinzu.
publish_adla_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, degree_of_parallelism=None, priority=None, runtime_version=None, compute_target=None, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None)
Parameter
- create_sequencing_ports
- bool
Gibt an, ob Sequenzierungsports für das Modul erstellt werden.
- degree_of_parallelism
- int
Der für diesen Auftrag zu verwendende Grad an Parallelität.
- runtime_version
- str
Die Runtimeversion der Azure Data Lake Analytics-Engine (ADLA).
- is_default
- bool
Gibt an, ob die veröffentlichte Version die Standardversion sein soll.
- arguments
- list
Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.
Rückgabetyp
publish_azure_batch
Erstellt eine ModuleVersion, die Azure Batch verwendet, und fügt sie dem aktuellen Modul hinzu.
publish_azure_batch(description, compute_target, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, create_pool=False, pool_id=None, delete_batch_job_after_finish=False, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', executable=None, source_directory=None, category=None, arguments=None)
Parameter
- create_sequencing_ports
- bool
Gibt an, ob Sequenzierungsports für das Modul erstellt werden.
- is_default
- bool
Gibt an, ob die veröffentlichte Version die Standardversion sein soll.
- create_pool
- bool
Gibt an, ob der Pool vor der Ausführung der Aufträge erstellt werden soll.
- pool_id
- str
(Obligatorisch) Die ID des Pools, in dem der Auftrag ausgeführt wird.
- delete_batch_job_after_finish
- bool
Gibt an, ob der Auftrag nach seinem Abschluss aus dem Batch-Konto gelöscht werden soll.
- delete_batch_pool_after_finish
- bool
Gibt an, ob der Pool nach Abschluss des Auftrags gelöscht werden soll.
- is_positive_exit_code_failure
- bool
Gibt an, ob der Auftrag fehlschlägt, wenn die Aufgabe mit einem positiven Code vorhanden ist.
- vm_image_urn
- str
Wenn create_pool
True ist und der virtuelle Computer VirtualMachineConfiguration verwendet, gibt dieser Parameter das zu verwendende VM-Image an. Wertformat: urn:publisher:offer:sku
.
Beispiel: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
.
- run_task_as_admin
- bool
Gibt an, ob die Aufgabe mit Administratorrechten ausgeführt werden soll.
- target_compute_nodes
- int
Gibt an, wie viele Computeknoten dem Pool hinzugefügt werden, wenn create_pool
True ist.
- vm_size
- str
Gibt die Größe des virtuellen Computers der Computeknoten an, wenn create_pool
True ist.
- executable
- str
Der Name des Befehls/der ausführbaren Datei, der/die als Teil dieses Auftrags ausgeführt wird.
- arguments
- list
Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.
Rückgabetyp
Ausnahmen
publish_python_script
Erstellt eine ModuleVersion, die auf einem Python-Skript basiert, und fügt sie dem aktuellen Modul hinzu.
publish_python_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None, runconfig=None)
Parameter
- create_sequencing_ports
- bool
Gibt an, ob Sequenzierungsports für das Modul erstellt werden.
- is_default
- bool
Gibt an, ob die veröffentlichte Version die Standardversion sein soll.
- hash_paths
- list
Eine Liste der Pfade, die bei der Überprüfung auf Änderungen am Schrittinhalt gehasht werden müssen. Wenn keine Änderungen erkannt werden, verwendet die Pipeline den Schrittinhalt einer vorherigen Ausführung erneut. Inhalte von source_directory
werden standardmäßig hashcodiert (mit Ausnahme der in .amlignore und .gitignore aufgeführten Dateien).
VERALTET: nicht mehr erforderlich.
- arguments
- list
Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.
- runconfig
- RunConfiguration
Eine optionale RunConfiguration. 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.
Rückgabetyp
resolve
Löst die richtige ModuleVersion auf, und gibt sie zurück.
resolve(version=None)
Parameter
- version
Gibt zurück
Die zu verwendende Modulversion.
Rückgabetyp
set_default_version
Legt die Standardmodulversion des Moduls fest.
set_default_version(version_id)
Parameter
- version_id
Gibt zurück
Die Standardversion.
Rückgabetyp
Ausnahmen
set_description
Legt die Beschreibung des Moduls fest.
set_description(description)
Parameter
Ausnahmen
set_name
Legt den Namen des Moduls fest.
set_name(name)
Parameter
Ausnahmen
Attribute
default_version
Abrufen der Standardversion des Moduls.
Gibt zurück
Die Standardversionszeichenfolge.
Rückgabetyp
description
id
name
status
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