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 und einer Beschreibung einer Schnittstelle ausgeführt werden. Die Sammlung von Dateien kann Skripts, Binärdateien oder andere Dateien sein, die für die Ausführung auf dem Computeziel erforderlich sind. Die Modulschnittstelle beschreibt Eingaben, Ausgaben und Parameterdefinitionen. Sie binden sie nicht an bestimmte Werte oder Daten. Einem Modul ist eine Momentaufnahme zugeordnet, die die Sammlung der für das Modul definierten Dateien erfasst.

Modul initialisieren.

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. The create ModuleVersion is the default version (is_default is set to True).


   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")

Vollständiges Beispiel ist verfügbar von 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 einer ModuleStep.

Das folgende Beispiel zeigt, wie die daten, die in der Pipeline verwendet werden, an Eingaben und Ausgaben einer ModuleVersion mithilfe PipelineDatavon :


   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}

Vollständiges Beispiel ist verfügbar von 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 des ModuleSteps 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])

Vollständiges Beispiel ist verfügbar von 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 Auflösung der zu verwendenden Version des Moduls erfolgt bei der Übermittlung und folgt dem folgenden Prozess:

  • Alle deaktivierten Versionen entfernen
  • Wenn eine bestimmte Version angegeben wurde, verwenden Sie dies, andernfalls
  • Wenn eine Standardversion für das Modul definiert wurde, verwenden Sie dies, andernfalls
  • Wenn alle Versionen der semantischen Versionsverwaltung ohne Buchstaben folgen, nehmen Sie den höchsten Wert, sonst
  • Nehmen Sie die Version des Moduls, das zuletzt aktualisiert wurde.

Beachten Sie, dass aufgrund der Eingaben und Ausgaben eines Knotens, die der Eingabe und Ausgabe eines Moduls zugeordnet sind, beim Erstellen der Pipeline definiert wird, wenn die aufgelöste Version bei der Übermittlung eine andere Schnittstelle als die schnittstelle aufweist, die bei der Pipelineerstellung aufgelöst wird, dann schlägt die Pipelineübermittlung fehl.

Das zugrunde liegende Modul kann mit neuen Versionen aktualisiert werden, wobei die Standardversion unverändert bleibt.

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 anhand des Namens oder der ID; löst eine Ausnahme aus, wenn keines angegeben wird.

get_default

Rufen Sie die Standardmodulversion ab.

get_default_version

Rufen Sie die Standardversion des Moduls ab.

get_versions

Rufen Sie alle Versionen des Moduls ab.

module_def_builder

Erstellen Sie das Moduldefinitionsobjekt, das den Schritt beschreibt.

module_version_list

Dient zum Abrufen der Modulversionsliste.

process_source_directory

Verarbeiten Sie das Quellverzeichnis für den Schritt, und überprüfen Sie, ob das Skript vorhanden ist.

publish

Erstellen Sie eine ModuleVersion, und fügen Sie sie dem aktuellen Modul hinzu.

publish_adla_script

Erstellen Sie eine ModuleVersion basierend auf Azure Data Lake Analytics (ADLA), und fügen Sie sie dem aktuellen Modul hinzu.

publish_azure_batch

Erstellen Sie eine ModuleVersion, die Azure-Batch verwendet, und fügen Sie sie dem aktuellen Modul hinzu.

publish_python_script

Erstellen Sie eine ModuleVersion, die auf einem Python-Skript basiert, und fügen Sie es dem aktuellen Modul hinzu.

resolve

Auflösen und Zurückgeben der richtigen ModuleVersion.

set_default_version

Legen Sie die Standardmodulversion des Moduls fest.

set_description

Legen Sie die Beschreibung des Moduls fest.

set_name

Legen Sie den Namen des Moduls fest.

create

Erstellen Sie das Modul.

static create(workspace, name, description, _workflow_provider=None)

Parameter

Name Beschreibung
workspace
Erforderlich

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

Module-Objekt

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 anhand des Namens oder der ID; löst eine Ausnahme aus, wenn keines angegeben wird.

static get(workspace, module_id=None, name=None, _workflow_provider=None)

Parameter

Name Beschreibung
workspace
Erforderlich

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

Module-Objekt

get_default

Rufen Sie die Standardmodulversion ab.

get_default()

Gibt zurück

Typ Beschreibung

Die Standardmodulversion.

get_default_version

Rufen Sie die Standardversion des Moduls ab.

get_default_version()

Gibt zurück

Typ Beschreibung
str

Die Standardversion des Moduls.

get_versions

Rufen Sie alle Versionen des Moduls ab.

static get_versions(workspace, name, _workflow_provider=None)

Parameter

Name Beschreibung
workspace
Erforderlich

Der Arbeitsbereich, auf 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

Erstellen Sie 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 sollen.

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

Typ des Schritts, der diesem Modul zugeordnet ist, z. B. "PythonScriptStep", "HyperDriveStep" usw.

Standardwert: None
arguments

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

Standardwert: None
runconfig
str

Runconfig, 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 Module def-Objekt.

Ausnahmen

Typ Beschreibung

module_version_list

Dient zum Abrufen der Modulversionsliste.

module_version_list()

Gibt zurück

Typ Beschreibung

Die Liste der ModuleVersionDescriptor

process_source_directory

Verarbeiten Sie das Quellverzeichnis für den Schritt, und überprüfen Sie, 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 Hashpfade.

Ausnahmen

Typ Beschreibung

publish

Erstellen Sie eine ModuleVersion, und fügen Sie 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. Zulässige Werte sind esCloudund adlcloudAzureBatchCloud

inputs
Erforderlich

Die Moduleingaben.

outputs
Erforderlich

Das Modul gibt aus.

param_defs

Die Parameterdefinitionen des Moduls.

Standardwert: None
create_sequencing_ports

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

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

Verzeichnis

Standardwert: None
hash_paths

Eine Liste der Pfade zum Hashen bei der Überprüfung auf Änderungen an den Schrittinhalten. Wenn keine Änderungen erkannt wurden, verwendet die Pipeline den Schrittinhalt aus einer vorherigen Ausführung wieder. Standardmäßig werden die Inhalte der source_directory Datei hashed (mit Ausnahme von Dateien, die in ".amlignore" oder ".gitignore" aufgeführt sind). VERALTET: Nicht mehr erforderlich.

Standardwert: None
category
str

Kategorie der Modulversion

Standardwert: None
arguments

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

Standardwert: None
runconfig

Eine optionale RunConfiguration. Eine 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

Erstellen Sie eine ModuleVersion basierend auf Azure Data Lake Analytics (ADLA), und fügen Sie 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-Params werden als Name-default_value-Paare verwendet.

Standardwert: None
create_sequencing_ports

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

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 Laufzeitversion des Azure Data Lake Analytics (ADLA)-Moduls.

Standardwert: None
compute_target

Die ADLA-Berechnung, die für diesen Auftrag verwendet werden soll.

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

Verzeichnis

Standardwert: None
hash_paths

hash_paths

Standardwert: None
category
str

Kategorie der Modulversion

Standardwert: None
arguments

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

Standardwert: None

Gibt zurück

Typ Beschreibung

publish_azure_batch

Erstellen Sie eine ModuleVersion, die Azure-Batch verwendet, und fügen Sie 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-Params werden als Name-default_value-Paare verwendet.

Standardwert: None
create_sequencing_ports

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

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 dem Ausführen der Aufträge erstellt werden soll.

Standardwert: False
pool_id
str

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

Standardwert: None
delete_batch_job_after_finish

Gibt an, ob der Auftrag nach Abschluss des Vorgangs aus dem Batchkonto 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

Ist create_pool "True" und "VM" verwendet VirtualMachineConfiguration, 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

Ist create_pool "True", gibt an, wie viele Computeknoten dem Pool hinzugefügt werden.

Standardwert: 1
vm_size
str

Ist create_pool "True", gibt die Größe des virtuellen Computers der Computeknoten an.

Standardwert: standard_d1_v2
executable
str

Der Name des Befehls/der ausführbaren Datei, der als Teil des 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 sollen. 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

Erstellen Sie eine ModuleVersion, die auf einem Python-Skript basiert, und fügen Sie es 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-Params werden als Name-default_value-Paare verwendet.

Standardwert: None
create_sequencing_ports

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

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

Verzeichnis

Standardwert: None
hash_paths

Eine Liste der Pfade zum Hashen bei der Überprüfung auf Änderungen an den Schrittinhalten. Wenn keine Änderungen erkannt wurden, verwendet die Pipeline den Schrittinhalt aus einer vorherigen Ausführung wieder. Standardmäßig werden die Inhalte der source_directory Datei hashed (mit Ausnahme von Dateien, die in ".amlignore" oder ".gitignore" aufgeführt sind). VERALTET: Nicht mehr erforderlich.

Standardwert: None
category
str

Kategorie der Modulversion

Standardwert: None
arguments

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

Standardwert: None
runconfig

Eine optionale RunConfiguration. Eine 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

Auflösen und Zurückgeben der richtigen ModuleVersion.

resolve(version=None)

Parameter

Name Beschreibung
version
Standardwert: None

Gibt zurück

Typ Beschreibung

Die zu verwendende Modulversion.

set_default_version

Legen Sie 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

Legen Sie die Beschreibung des Moduls fest.

set_description(description)

Parameter

Name Beschreibung
description
Erforderlich
str

Die festzulegende Beschreibung.

Ausnahmen

Typ Beschreibung

set_name

Legen Sie den Namen des Moduls fest.

set_name(name)

Parameter

Name Beschreibung
name
Erforderlich
str

Der festzulegende Name.

Ausnahmen

Typ Beschreibung

Attribute

default_version

Rufen Sie die Standardversion des Moduls ab.

Gibt zurück

Typ Beschreibung
str

Die Standardversionszeichenfolge.

description

Rufen Sie die Beschreibung des Moduls ab.

Gibt zurück

Typ Beschreibung
str

Die Beschreibungszeichenfolge.

id

Rufen Sie die ID des Moduls ab.

Gibt zurück

Typ Beschreibung
str

Die ID.

name

Rufen Sie den Namen des Moduls ab.

Gibt zurück

Typ Beschreibung
str

Der Name.

status

Rufen Sie den Status des Moduls ab.

Gibt zurück

Typ Beschreibung
str

Der Status.