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

workspace
Workspace
Erforderlich

Das Arbeitsbereichsobjekt, zu dem dieses Modul gehört.

module_id
str
Erforderlich

Die ID des Moduls.

name
str
Erforderlich

Der Name des Moduls.

description
str
Erforderlich

Die Beschreibung des Moduls.

status
str
Erforderlich

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

default_version
str
Erforderlich

Die Standardversion des Moduls.

module_version_list
list
Erforderlich

Eine Liste von ModuleVersionDescriptor-Objekten.

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

(Nur interne Verwendung.) Der Modulanbieter.

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

(Nur interne Verwendung.) Der ModuleVersion-Anbieter.

workspace
Workspace
Erforderlich

Das Arbeitsbereichsobjekt, zu dem dieses Modul gehört.

module_id
str
Erforderlich

Die ID des Moduls.

name
str
Erforderlich

Der Name des Moduls.

description
str
Erforderlich

Die Beschreibung des Moduls.

status
str
Erforderlich

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

default_version
str
Erforderlich

Die Standardversion des Moduls.

module_version_list
list
Erforderlich

Eine Liste von ModuleVersionDescriptor-Objekten.

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

Der Modulanbieter.

_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
Erforderlich

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

workspace
Workspace
Erforderlich

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

name
str
Erforderlich

Der Name des Moduls.

description
str
Erforderlich

Die Beschreibung des Moduls.

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

(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

workspace
Workspace
Erforderlich

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

module_id
str
Standardwert: None

Die ID des Moduls.

name
str
Standardwert: None

Der Name des Moduls.

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

(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

str

get_versions

Abrufen aller Versionen des Moduls.

static get_versions(workspace, name, _workflow_provider=None)

Parameter

workspace
Workspace
Erforderlich

Der Arbeitsbereich, in dem das Modul erstellt wurde.

name
str
Erforderlich

Der Name des Moduls.

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

(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

name
str
Erforderlich

Der Name des Moduls.

description
str
Erforderlich

Die Beschreibung des Moduls.

execution_type
str
Erforderlich

Der Ausführungstyp des Moduls.

input_bindings
list
Erforderlich

Die Moduleingabebindungen.

output_bindings
list
Erforderlich

Die Modulausgabebindungen.

param_defs
list
Standardwert: None

Die Modulparameterdefinitionen.

create_sequencing_ports
bool
Standardwert: True

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

allow_reuse
bool
Standardwert: True

Gibt an, ob das Modul wiederverwendet werden kann.

version
str
Standardwert: None

Die Version des Moduls.

module_type
str
Standardwert: None

Der Modultyp.

step_type
str
Standardwert: None

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

arguments
list
Standardwert: None

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

runconfig
str
Standardwert: None

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

cloud_settings
str
Standardwert: None

Einstellungen, die für Clouds verwendet werden

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

name
str
Erforderlich

Der Name des Schritts.

source_directory
str
Erforderlich

Das Quellverzeichnis für den Schritt.

script_name
str
Erforderlich

Der Skriptname für den Schritt.

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

description
str
Erforderlich

Die Beschreibung des Moduls.

execution_type
str
Erforderlich

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

inputs
list
Erforderlich

Die Moduleingaben.

outputs
list
Erforderlich

Die Modulausgaben.

param_defs
list
Standardwert: None

Die Module-Parameterdefinitionen.

create_sequencing_ports
bool
Standardwert: True

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

version
str
Standardwert: None

Die Version des Moduls.

is_default
bool
Standardwert: False

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

content_path
str
Standardwert: None

directory

hash_paths
list
Standardwert: None

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.

category
str
Standardwert: None

Kategorie der Modulversion

arguments
list
Standardwert: None

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

runconfig
RunConfiguration
Standardwert: None

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

script_name
str
Erforderlich

Der Name eines ADLA-Skripts relativ zu source_directory.

description
str
Erforderlich

Die Beschreibung der Modulversion.

inputs
list
Erforderlich

Die Moduleingabebindungen.

outputs
list
Erforderlich

Die Modulausgabebindungen.

params
dict
Standardwert: None

Die ModuleVersion-Parameter als name-default_value-Paare.

create_sequencing_ports
bool
Standardwert: True

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

degree_of_parallelism
int
Standardwert: None

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

priority
int
Standardwert: None

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

runtime_version
str
Standardwert: None

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

compute_target
AdlaCompute, str
Standardwert: None

ADLA Compute für diesen Auftrag.

version
str
Standardwert: None

Die Version des Moduls.

is_default
bool
Standardwert: False

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

source_directory
str
Standardwert: None

directory

hash_paths
list
Standardwert: None

hash_paths

category
str
Standardwert: None

Kategorie der Modulversion

arguments
list
Standardwert: None

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

description
str
Erforderlich

Die Beschreibung der Modulversion.

compute_target
BatchCompute oder str
Erforderlich

Das BatchCompute-Computeziel.

inputs
list
Erforderlich

Die Moduleingabebindungen.

outputs
list
Erforderlich

Die Modulausgabebindungen.

params
dict
Standardwert: None

Die ModuleVersion-Parameter als name-default_value-Paare.

create_sequencing_ports
bool
Standardwert: True

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

version
str
Standardwert: None

Die Version des Moduls.

is_default
bool
Standardwert: False

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

create_pool
bool
Standardwert: False

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

pool_id
str
Standardwert: None

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

delete_batch_job_after_finish
bool
Standardwert: False

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

delete_batch_pool_after_finish
bool
Standardwert: False

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

is_positive_exit_code_failure
bool
Standardwert: True

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

vm_image_urn
str
Standardwert: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

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
Standardwert: False

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

target_compute_nodes
int
Standardwert: 1

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

vm_size
str
Standardwert: standard_d1_v2

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

executable
str
Standardwert: None

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

source_directory
str
Standardwert: None

Das Quellverzeichnis.

category
str
Standardwert: None

Kategorie der Modulversion

arguments
list
Standardwert: None

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

script_name
str
Erforderlich

Der Name eines Python-Skripts, relativ zu source_directory.

description
str
Erforderlich

Die Beschreibung der Modulversion.

inputs
list
Erforderlich

Die Moduleingabebindungen.

outputs
list
Erforderlich

Die Modulausgabebindungen.

params
dict
Standardwert: None

Die ModuleVersion-Parameter als name-default_value-Paare.

create_sequencing_ports
bool
Standardwert: True

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

version
str
Standardwert: None

Die Version des Moduls.

is_default
bool
Standardwert: False

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

source_directory
str
Standardwert: None

directory

hash_paths
list
Standardwert: None

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.

category
str
Standardwert: None

Kategorie der Modulversion

arguments
list
Standardwert: None

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

runconfig
RunConfiguration
Standardwert: None

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
Standardwert: None

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
Erforderlich

Gibt zurück

Die Standardversion.

Rückgabetyp

str

Ausnahmen

set_description

Legt die Beschreibung des Moduls fest.

set_description(description)

Parameter

description
str
Erforderlich

Die festzulegende Beschreibung.

Ausnahmen

set_name

Legt den Namen des Moduls fest.

set_name(name)

Parameter

name
str
Erforderlich

Der Name, der festgelegt werden soll.

Ausnahmen

Attribute

default_version

Abrufen der Standardversion des Moduls.

Gibt zurück

Die Standardversionszeichenfolge.

Rückgabetyp

str

description

Ruft die Beschreibung des Moduls ab.

Gibt zurück

Die Beschreibungszeichenfolge.

Rückgabetyp

str

id

Abrufen der ID des Moduls.

Gibt zurück

Die ID.

Rückgabetyp

str

name

Abrufen des Namens des Moduls.

Gibt zurück

Der Name.

Rückgabetyp

str

status

Abrufen des Status des Moduls.

Gibt zurück

Der Status.

Rückgabetyp

str