Freigeben über


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.object
Module

Konstruktor

Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)

Parameter

Name Beschreibung
workspace
Erforderlich

Das Arbeitsbereichsobjekt, zu dem dieses Modul gehört.

module_id
Erforderlich
str

Die ID des Moduls.

name
Erforderlich
str

Der Name des Moduls.

description
Erforderlich
str

Die Beschreibung des Moduls.

status
Erforderlich
str

Der neue Status des Moduls: "Aktiv", "Veraltet" oder "Deaktiviert".

default_version
Erforderlich
str

Die Standardversion des Moduls.

module_version_list
Erforderlich

Eine Liste von ModuleVersionDescriptor-Objekten.

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>

(Nur interne Verwendung.) Der Modulanbieter.

Standardwert: None
_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>

(Nur interne Verwendung.) Der ModuleVersion-Anbieter.

Standardwert: None
workspace
Erforderlich

Das Arbeitsbereichsobjekt, zu dem dieses Modul gehört.

module_id
Erforderlich
str

Die ID des Moduls.

name
Erforderlich
str

Der Name des Moduls.

description
Erforderlich
str

Die Beschreibung des Moduls.

status
Erforderlich
str

Der neue Status des Moduls: "Aktiv", "Veraltet" oder "Deaktiviert".

default_version
Erforderlich
str

Die Standardversion des Moduls.

module_version_list
Erforderlich

Eine Liste von ModuleVersionDescriptor-Objekten.

_module_provider
Erforderlich
<xref:<xref:_AevaMlModuleProvider object>>

Der Modulanbieter.

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

Name Beschreibung
workspace
Erforderlich

D der Arbeitsbereich, in dem das Modul erstellt werden soll.

name
Erforderlich
str

Der Name des Moduls.

description
Erforderlich
str

Die Beschreibung des Moduls.

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

(Nur interne Verwendung.) Der Workflowanbieter.

Standardwert: None

Gibt zurück

Typ Beschreibung

Modulobjekt

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

Name Beschreibung
workspace
Erforderlich

D der Arbeitsbereich, in dem das Modul erstellt werden soll.

module_id
str

Die ID des Moduls.

Standardwert: None
name
str

Der Name des Moduls.

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

(Nur interne Verwendung.) Der Workflowanbieter.

Standardwert: None

Gibt zurück

Typ Beschreibung

Modulobjekt

get_default

Abrufen der Standardmodulversion.

get_default()

Gibt zurück

Typ Beschreibung

Die Standardmodulversion.

get_default_version

Abrufen der Standardversion des Moduls.

get_default_version()

Gibt zurück

Typ Beschreibung
str

Die Standardversion des Moduls.

get_versions

Abrufen aller Versionen des Moduls.

static get_versions(workspace, name, _workflow_provider=None)

Parameter

Name Beschreibung
workspace
Erforderlich

Der Arbeitsbereich, in dem das Modul erstellt wurde.

name
Erforderlich
str

Der Name des Moduls.

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

(Nur interne Verwendung.) Der Workflowanbieter.

Standardwert: None

Gibt zurück

Typ Beschreibung

Die Liste der ModuleVersionDescriptor

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

Name Beschreibung
name
Erforderlich
str

Der Name des Moduls.

description
Erforderlich
str

Die Beschreibung des Moduls.

execution_type
Erforderlich
str

Der Ausführungstyp des Moduls.

input_bindings
Erforderlich

Die Moduleingabebindungen.

output_bindings
Erforderlich

Die Modulausgabebindungen.

param_defs

Die Modulparameterdefinitionen.

Standardwert: None
create_sequencing_ports

Gibt an, ob Sequenzierungsports für das Modul erstellt werden.

Standardwert: True
allow_reuse

Gibt an, ob das Modul wiederverwendet werden kann.

Standardwert: True
version
str

Die Version des Moduls.

Standardwert: None
module_type
str

Der Modultyp.

Standardwert: None
step_type
str

Schritttyp, der diesem Modul zugeordnet ist, z. B. "PythonScriptStep", "HyperDriveStep" usw.

Standardwert: None
arguments

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

Standardwert: None
runconfig
str

Ausführungskonfiguration, die für „python_script_step“ verwendet wird.

Standardwert: None
cloud_settings
str

Einstellungen, die für Clouds verwendet werden

Standardwert: None

Gibt zurück

Typ Beschreibung

Das Modul-Def-Objekt.

Ausnahmen

Typ Beschreibung

module_version_list

Abrufen der Modulversionsliste.

module_version_list()

Gibt zurück

Typ Beschreibung

Die Liste der ModuleVersionDescriptor

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

Name Beschreibung
name
Erforderlich
str

Der Name des Schritts.

source_directory
Erforderlich
str

Das Quellverzeichnis für den Schritt.

script_name
Erforderlich
str

Der Skriptname für den Schritt.

Gibt zurück

Typ Beschreibung

Das Quellverzeichnis und die Hashpfade.

Ausnahmen

Typ Beschreibung

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

Name Beschreibung
description
Erforderlich
str

Die Beschreibung des Moduls.

execution_type
Erforderlich
str

Der Ausführungstyp des Moduls. Mögliche Werte sind esCloud, adlcloud und AzureBatchCloud.

inputs
Erforderlich

Die Moduleingaben.

outputs
Erforderlich

Die Modulausgaben.

param_defs

Die Module-Parameterdefinitionen.

Standardwert: None
create_sequencing_ports

Gibt an, ob Sequenzierungsports für das Modul erstellt werden.

Standardwert: True
version
str

Die Version des Moduls.

Standardwert: None
is_default

Gibt an, ob die veröffentlichte Version die Standardversion sein soll.

Standardwert: False
content_path
str

directory

Standardwert: None
hash_paths

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.

Standardwert: None
category
str

Kategorie der Modulversion

Standardwert: None
arguments

Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.

Standardwert: None
runconfig

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.

Standardwert: None

Gibt zurück

Typ Beschreibung

Ausnahmen

Typ Beschreibung

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

Name Beschreibung
script_name
Erforderlich
str

Der Name eines ADLA-Skripts relativ zu source_directory.

description
Erforderlich
str

Die Beschreibung der Modulversion.

inputs
Erforderlich

Die Moduleingabebindungen.

outputs
Erforderlich

Die Modulausgabebindungen.

params

Die ModuleVersion-Parameter als name-default_value-Paare.

Standardwert: None
create_sequencing_ports

Gibt an, ob Sequenzierungsports für das Modul erstellt werden.

Standardwert: True
degree_of_parallelism
int

Der für diesen Auftrag zu verwendende Grad an Parallelität.

Standardwert: None
priority
int

Der für den aktuellen Auftrag zu verwendenden Prioritätswert.

Standardwert: None
runtime_version
str

Die Runtimeversion der Azure Data Lake Analytics-Engine (ADLA).

Standardwert: None
compute_target

ADLA Compute für diesen Auftrag.

Standardwert: None
version
str

Die Version des Moduls.

Standardwert: None
is_default

Gibt an, ob die veröffentlichte Version die Standardversion sein soll.

Standardwert: False
source_directory
str

directory

Standardwert: None
hash_paths

hash_paths

Standardwert: None
category
str

Kategorie der Modulversion

Standardwert: None
arguments

Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.

Standardwert: None

Gibt zurück

Typ Beschreibung

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

Name Beschreibung
description
Erforderlich
str

Die Beschreibung der Modulversion.

compute_target
Erforderlich

Das BatchCompute-Computeziel.

inputs
Erforderlich

Die Moduleingabebindungen.

outputs
Erforderlich

Die Modulausgabebindungen.

params

Die ModuleVersion-Parameter als name-default_value-Paare.

Standardwert: None
create_sequencing_ports

Gibt an, ob Sequenzierungsports für das Modul erstellt werden.

Standardwert: True
version
str

Die Version des Moduls.

Standardwert: None
is_default

Gibt an, ob die veröffentlichte Version die Standardversion sein soll.

Standardwert: False
create_pool

Gibt an, ob der Pool vor der Ausführung der Aufträge erstellt werden soll.

Standardwert: False
pool_id
str

(Obligatorisch) Die ID des Pools, in dem der Auftrag ausgeführt wird.

Standardwert: None
delete_batch_job_after_finish

Gibt an, ob der Auftrag nach seinem Abschluss aus dem Batch-Konto gelöscht werden soll.

Standardwert: False
delete_batch_pool_after_finish

Gibt an, ob der Pool nach Abschluss des Auftrags gelöscht werden soll.

Standardwert: False
is_positive_exit_code_failure

Gibt an, ob der Auftrag fehlschlägt, wenn die Aufgabe mit einem positiven Code vorhanden ist.

Standardwert: True
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.

Standardwert: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

Gibt an, ob die Aufgabe mit Administratorrechten ausgeführt werden soll.

Standardwert: False
target_compute_nodes
int

Gibt an, wie viele Computeknoten dem Pool hinzugefügt werden, wenn create_pool True ist.

Standardwert: 1
vm_size
str

Gibt die Größe des virtuellen Computers der Computeknoten an, wenn create_pool True ist.

Standardwert: standard_d1_v2
executable
str

Der Name des Befehls/der ausführbaren Datei, der/die als Teil dieses Auftrags ausgeführt wird.

Standardwert: None
source_directory
str

Das Quellverzeichnis.

Standardwert: None
category
str

Kategorie der Modulversion

Standardwert: None
arguments

Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.

Standardwert: None

Gibt zurück

Typ Beschreibung

Ausnahmen

Typ Beschreibung

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

Name Beschreibung
script_name
Erforderlich
str

Der Name eines Python-Skripts, relativ zu source_directory.

description
Erforderlich
str

Die Beschreibung der Modulversion.

inputs
Erforderlich

Die Moduleingabebindungen.

outputs
Erforderlich

Die Modulausgabebindungen.

params

Die ModuleVersion-Parameter als name-default_value-Paare.

Standardwert: None
create_sequencing_ports

Gibt an, ob Sequenzierungsports für das Modul erstellt werden.

Standardwert: True
version
str

Die Version des Moduls.

Standardwert: None
is_default

Gibt an, ob die veröffentlichte Version die Standardversion sein soll.

Standardwert: False
source_directory
str

directory

Standardwert: None
hash_paths

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.

Standardwert: None
category
str

Kategorie der Modulversion

Standardwert: None
arguments

Argumente, die beim Aufrufen des Moduls verwendet werden. Argumente können Zeichenfolgen, Eingabeverweise (InputPortDef), Ausgabeverweise (OutputPortDef) und Pipelineparameter (PipelineParameter) sein.

Standardwert: None
runconfig

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.

Standardwert: None

Gibt zurück

Typ Beschreibung

resolve

Löst die richtige ModuleVersion auf, und gibt sie zurück.

resolve(version=None)

Parameter

Name Beschreibung
version
Standardwert: None

Gibt zurück

Typ Beschreibung

Die zu verwendende Modulversion.

set_default_version

Legt die Standardmodulversion des Moduls fest.

set_default_version(version_id)

Parameter

Name Beschreibung
version_id
Erforderlich

Gibt zurück

Typ Beschreibung
str

Die Standardversion.

Ausnahmen

Typ Beschreibung

set_description

Legt die Beschreibung des Moduls fest.

set_description(description)

Parameter

Name Beschreibung
description
Erforderlich
str

Die festzulegende Beschreibung.

Ausnahmen

Typ Beschreibung

set_name

Legt den Namen des Moduls fest.

set_name(name)

Parameter

Name Beschreibung
name
Erforderlich
str

Der Name, der festgelegt werden soll.

Ausnahmen

Typ Beschreibung

Attribute

default_version

Abrufen der Standardversion des Moduls.

Gibt zurück

Typ Beschreibung
str

Die Standardversionszeichenfolge.

description

Ruft die Beschreibung des Moduls ab.

Gibt zurück

Typ Beschreibung
str

Die Beschreibungszeichenfolge.

id

Abrufen der ID des Moduls.

Gibt zurück

Typ Beschreibung
str

Die ID.

name

Abrufen des Namens des Moduls.

Gibt zurück

Typ Beschreibung
str

Der Name.

status

Abrufen des Status des Moduls.

Gibt zurück

Typ Beschreibung
str

Der Status.