Condividi tramite


Module Classe

Rappresenta un'unità di calcolo usata in una pipeline di Azure Machine Learning.

Un modulo è una raccolta di file che verranno eseguiti su una destinazione di calcolo e una descrizione di un'interfaccia. La raccolta di file può essere script, file binari o qualsiasi altro file necessario per l'esecuzione nella destinazione di calcolo. L'interfaccia del modulo descrive input, output e definizioni di parametri. Non li associa a valori o dati specifici. A un modulo è associato uno snapshot, che acquisisce la raccolta di file definiti per il modulo.

Inizializzare il modulo.

Ereditarietà
builtins.object
Module

Costruttore

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

Parametri

workspace
Workspace
Necessario

L'oggetto dell'area di lavoro a cui appartiene il modulo.

module_id
str
Necessario

ID del modulo.

name
str
Necessario

Nome del modulo.

description
str
Necessario

Descrizione del modulo.

status
str
Necessario

Nuovo stato del modulo: 'Attivo', 'Deprecato' o 'Disabilitato'.

default_version
str
Necessario

Versione predefinita del modulo.

module_version_list
list
Necessario

Elenco di oggetti ModuleVersionDescriptor.

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

(Solo uso interno). Provider di moduli.

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

(Solo uso interno). Provider ModuleVersion.

workspace
Workspace
Necessario

L'oggetto dell'area di lavoro a cui appartiene il modulo.

module_id
str
Necessario

ID del modulo.

name
str
Necessario

Nome del modulo.

description
str
Necessario

Descrizione del modulo.

status
str
Necessario

Nuovo stato del modulo: 'Attivo', 'Deprecato' o 'Disabilitato'.

default_version
str
Necessario

Versione predefinita del modulo.

module_version_list
list
Necessario

Elenco di oggetti ModuleVersionDescriptor.

_module_provider
<xref:<xref:_AevaMlModuleProvider object>>
Necessario

Provider di moduli.

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

Provider ModuleVersion.

Commenti

Un modulo funge da contenitore delle versioni. Nell'esempio seguente viene creato un oggetto ModuleVersion dal publish_python_script metodo e ha due input e due output. Create ModuleVersion è la versione predefinita (is_default è impostata su 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")

L'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

Questo modulo può essere usato quando si definisce una pipeline, in passaggi diversi, usando un oggetto ModuleStep.

L'esempio seguente illustra come collegare i dati usati nella pipeline agli input e agli output di un ModuleVersion usando PipelineData:


   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}

L'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

Il mapping può quindi essere usato durante la creazione di ModuleStep:


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

L'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

La risoluzione della versione del modulo da usare al momento dell'invio e segue il processo seguente:

  • Rimuovere tutte le versioni disabilitate
  • Se è stata specificata una versione specifica, usarla, altrimenti
  • Se è stata definita una versione predefinita per il modulo, usarla in caso contrario
  • Se tutte le versioni seguono il controllo delle versioni semantiche senza lettere, accettare il valore più alto, altrimenti
  • Prendere la versione del modulo aggiornato l'ultima volta

Si noti che poiché i mapping di input e output di un nodo all'input e all'output di un modulo vengono definiti al momento della creazione della pipeline, se la versione risolta al momento dell'invio ha un'interfaccia diversa da quella risolta al momento della creazione della pipeline, l'invio della pipeline avrà esito negativo.

Il modulo sottostante può essere aggiornato con nuove versioni mantenendo la stessa versione predefinita.

I moduli sono denominati in modo univoco all'interno di un'area di lavoro.

Metodi

create

Creare il modulo.

deprecate

Impostare il modulo su 'Deprecato'.

disable

Impostare il modulo su 'Disabilitato'.

enable

Impostare il modulo su 'Attivo'.

get

Ottenere il modulo in base al nome o all'ID; genera un'eccezione se una delle due non viene fornita.

get_default

Ottenere la versione predefinita del modulo.

get_default_version

Ottenere la versione predefinita di Module.

get_versions

Ottenere tutte le versioni del modulo.

module_def_builder

Creare l'oggetto definizione del modulo che descrive il passaggio.

module_version_list

Ottenere l'elenco delle versioni del modulo.

process_source_directory

Elaborare la directory di origine per il passaggio e verificare che lo script esista.

publish

Creare un ModuleVersion e aggiungerlo al modulo corrente.

publish_adla_script

Creare un ModuleVersion basato su Azure Data Lake Analytics (ADLA) e aggiungerlo al modulo corrente.

publish_azure_batch

Creare un moduleVersion che usa Azure batch e aggiungerlo al modulo corrente.

publish_python_script

Creare un ModuleVersion basato su uno script Python e aggiungerlo al modulo corrente.

resolve

Risolvere e restituire il valore ModuleVersion corretto.

set_default_version

Impostare moduleVersion predefinito del modulo.

set_description

Impostare la descrizione del modulo.

set_name

Impostare il nome del modulo.

create

Creare il modulo.

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

Parametri

workspace
Workspace
Necessario

Area di lavoro in cui creare il modulo.

name
str
Necessario

Nome del modulo.

description
str
Necessario

Descrizione del modulo.

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

(Solo uso interno). Provider del flusso di lavoro.

Restituisce

Oggetto Module

Tipo restituito

deprecate

Impostare il modulo su 'Deprecato'.

deprecate()

disable

Impostare il modulo su 'Disabilitato'.

disable()

enable

Impostare il modulo su 'Attivo'.

enable()

get

Ottenere il modulo in base al nome o all'ID; genera un'eccezione se una delle due non viene fornita.

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

Parametri

workspace
Workspace
Necessario

Area di lavoro in cui creare il modulo.

module_id
str
valore predefinito: None

ID del modulo.

name
str
valore predefinito: None

Nome del modulo.

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

(Solo uso interno). Provider del flusso di lavoro.

Restituisce

Oggetto Module

Tipo restituito

get_default

Ottenere la versione predefinita del modulo.

get_default()

Restituisce

Versione predefinita del modulo.

Tipo restituito

get_default_version

Ottenere la versione predefinita di Module.

get_default_version()

Restituisce

Versione predefinita del modulo.

Tipo restituito

str

get_versions

Ottenere tutte le versioni del modulo.

static get_versions(workspace, name, _workflow_provider=None)

Parametri

workspace
Workspace
Necessario

L'area di lavoro in cui è stato creato il modulo.

name
str
Necessario

Nome del modulo.

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

(Solo uso interno). Provider del flusso di lavoro.

Restituisce

Elenco di ModuleVersionDescriptor

Tipo restituito

module_def_builder

Creare l'oggetto definizione del modulo che descrive il passaggio.

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)

Parametri

name
str
Necessario

Nome del modulo.

description
str
Necessario

Descrizione del modulo.

execution_type
str
Necessario

Tipo di esecuzione del modulo.

input_bindings
list
Necessario

Associazioni di input del modulo.

output_bindings
list
Necessario

Associazioni di output del modulo.

param_defs
list
valore predefinito: None

Definizioni del modulo param.

create_sequencing_ports
bool
valore predefinito: True

Indica se le porte di sequenziazione verranno create per il modulo.

allow_reuse
bool
valore predefinito: True

Indica se il modulo sarà disponibile per essere riutilizzato.

version
str
valore predefinito: None

Versione del modulo.

module_type
str
valore predefinito: None

Tipo di modulo.

step_type
str
valore predefinito: None

Tipo di passaggio associato a questo modulo, ad esempio "PythonScriptStep", "HyperDriveStep" e così via.

arguments
list
valore predefinito: None

Elenco di argomenti annotati da usare quando si chiama questo modulo

runconfig
str
valore predefinito: None

Runconfig che verrà usato per python_script_step

cloud_settings
str
valore predefinito: None

Impostazioni che verranno usate per i cloud

Restituisce

Oggetto Module def.

Tipo restituito

Eccezioni

module_version_list

Ottenere l'elenco delle versioni del modulo.

module_version_list()

Restituisce

Elenco di ModuleVersionDescriptor

Tipo restituito

process_source_directory

Elaborare la directory di origine per il passaggio e verificare che lo script esista.

static process_source_directory(name, source_directory, script_name)

Parametri

name
str
Necessario

Nome del passaggio.

source_directory
str
Necessario

Directory di origine per il passaggio.

script_name
str
Necessario

Nome dello script per il passaggio.

Restituisce

Directory di origine e percorsi hash.

Tipo restituito

Eccezioni

publish

Creare un ModuleVersion e aggiungerlo al modulo corrente.

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)

Parametri

description
str
Necessario

Descrizione del modulo.

execution_type
str
Necessario

Tipo di esecuzione del modulo. I valori accettabili sono esCloud, adlcloud e AzureBatchCloud

inputs
list
Necessario

Input del modulo.

outputs
list
Necessario

Output del modulo.

param_defs
list
valore predefinito: None

Definizioni dei parametri del modulo.

create_sequencing_ports
bool
valore predefinito: True

Indica se le porte di sequenziazione verranno create per il modulo.

version
str
valore predefinito: None

Versione del modulo.

is_default
bool
valore predefinito: False

Indica se la versione pubblicata deve essere quella predefinita.

content_path
str
valore predefinito: None

directory

hash_paths
list
valore predefinito: None

Elenco di percorsi di hash durante il controllo delle modifiche apportate al contenuto del passaggio. Se non sono state rilevate modifiche, la pipeline riutilizzerà il contenuto del passaggio da un'esecuzione precedente. Per impostazione predefinita, il contenuto di viene sottoposto a source_directory hashing (ad eccezione dei file elencati in .amlignore o .gitignore). DEPRECATO: non più necessario.

category
str
valore predefinito: None

Categoria della versione del modulo

arguments
list
valore predefinito: None

Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti all'output (OutputPortDef) e parametri della pipeline (PipelineParameter).

runconfig
RunConfiguration
valore predefinito: None

RunConfiguration facoltativo. È possibile usare RunConfiguration per specificare requisiti aggiuntivi per l'esecuzione, ad esempio dipendenze conda e un'immagine Docker.

Tipo restituito

Eccezioni

publish_adla_script

Creare un ModuleVersion basato su Azure Data Lake Analytics (ADLA) e aggiungerlo al modulo corrente.

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)

Parametri

script_name
str
Necessario

Nome di uno script ADLA, relativo a source_directory.

description
str
Necessario

Descrizione della versione del modulo.

inputs
list
Necessario

Associazioni di input del modulo.

outputs
list
Necessario

Associazioni di output del modulo.

params
dict
valore predefinito: None

I parametri ModuleVersion, come coppie nome-default_value.

create_sequencing_ports
bool
valore predefinito: True

Indica se le porte di sequenziazione verranno create per il modulo.

degree_of_parallelism
int
valore predefinito: None

Grado di parallelismo da usare per questo processo.

priority
int
valore predefinito: None

Valore di priorità da utilizzare per il processo corrente.

runtime_version
str
valore predefinito: None

Versione di runtime del motore di Data Lake Analytics di Azure (ADLA).

compute_target
AdlaCompute, str
valore predefinito: None

Calcolo ADLA da usare per questo processo.

version
str
valore predefinito: None

Versione del modulo.

is_default
bool
valore predefinito: False

Indica se la versione pubblicata deve essere quella predefinita.

source_directory
str
valore predefinito: None

directory

hash_paths
list
valore predefinito: None

hash_paths

category
str
valore predefinito: None

Categoria della versione del modulo

arguments
list
valore predefinito: None

Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti all'output (OutputPortDef) e parametri della pipeline (PipelineParameter).

Tipo restituito

publish_azure_batch

Creare un moduleVersion che usa Azure batch e aggiungerlo al modulo corrente.

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)

Parametri

description
str
Necessario

Descrizione della versione del modulo.

compute_target
BatchCompute oppure str
Necessario

Destinazione di calcolo BatchCompute.

inputs
list
Necessario

Associazioni di input del modulo.

outputs
list
Necessario

Associazioni di output del modulo.

params
dict
valore predefinito: None

I parametri ModuleVersion, come coppie nome-default_value.

create_sequencing_ports
bool
valore predefinito: True

Indica se le porte di sequenziazione verranno create per il modulo.

version
str
valore predefinito: None

Versione del modulo.

is_default
bool
valore predefinito: False

Indica se la versione pubblicata deve essere quella predefinita.

create_pool
bool
valore predefinito: False

Indica se creare il pool prima di eseguire i processi.

pool_id
str
valore predefinito: None

(Obbligatorio) ID del pool in cui verrà eseguito il processo.

delete_batch_job_after_finish
bool
valore predefinito: False

Indica se eliminare il processo dall'account Batch al termine dell'operazione.

delete_batch_pool_after_finish
bool
valore predefinito: False

Indica se eliminare il pool al termine del processo.

is_positive_exit_code_failure
bool
valore predefinito: True

Indica se il processo ha esito negativo se l'attività esiste con un codice positivo.

vm_image_urn
str
valore predefinito: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

Se create_pool è True e la macchina virtuale usa VirtualMachineConfiguration, questo parametro indica l'immagine della macchina virtuale da usare. Formato valore: urn:publisher:offer:sku. Esempio: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
valore predefinito: False

Indica se l'attività deve essere eseguita con privilegi di Amministrazione.

target_compute_nodes
int
valore predefinito: 1

Se create_pool è True, indica il numero di nodi di calcolo che verranno aggiunti al pool.

vm_size
str
valore predefinito: standard_d1_v2

Se create_pool è True, indica le dimensioni della macchina virtuale dei nodi di calcolo.

executable
str
valore predefinito: None

Nome del comando/eseguibile che verrà eseguito come parte del processo.

source_directory
str
valore predefinito: None

Directory di origine.

category
str
valore predefinito: None

Categoria della versione del modulo

arguments
list
valore predefinito: None

Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti all'output (OutputPortDef) e parametri della pipeline (PipelineParameter).

Tipo restituito

Eccezioni

publish_python_script

Creare un ModuleVersion basato su uno script Python e aggiungerlo al modulo corrente.

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)

Parametri

script_name
str
Necessario

Nome di uno script Python, relativo a source_directory.

description
str
Necessario

Descrizione della versione del modulo.

inputs
list
Necessario

Associazioni di input del modulo.

outputs
list
Necessario

Associazioni di output del modulo.

params
dict
valore predefinito: None

I parametri ModuleVersion, come coppie nome-default_value.

create_sequencing_ports
bool
valore predefinito: True

Indica se le porte di sequenziazione verranno create per il modulo.

version
str
valore predefinito: None

Versione del modulo.

is_default
bool
valore predefinito: False

Indica se la versione pubblicata deve essere quella predefinita.

source_directory
str
valore predefinito: None

directory

hash_paths
list
valore predefinito: None

Elenco di percorsi di hash durante il controllo delle modifiche apportate al contenuto del passaggio. Se non sono state rilevate modifiche, la pipeline riutilizzerà il contenuto del passaggio da un'esecuzione precedente. Per impostazione predefinita, il contenuto di viene sottoposto a source_directory hashing (ad eccezione dei file elencati in .amlignore o .gitignore). DEPRECATO: non più necessario.

category
str
valore predefinito: None

Categoria della versione del modulo

arguments
list
valore predefinito: None

Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti all'output (OutputPortDef) e parametri della pipeline (PipelineParameter).

runconfig
RunConfiguration
valore predefinito: None

RunConfiguration facoltativo. È possibile usare RunConfiguration per specificare requisiti aggiuntivi per l'esecuzione, ad esempio dipendenze conda e un'immagine Docker.

Tipo restituito

resolve

Risolvere e restituire il valore ModuleVersion corretto.

resolve(version=None)

Parametri

version
valore predefinito: None

Restituisce

Versione del modulo da usare.

Tipo restituito

set_default_version

Impostare moduleVersion predefinito del modulo.

set_default_version(version_id)

Parametri

version_id
Necessario

Restituisce

Versione predefinita.

Tipo restituito

str

Eccezioni

set_description

Impostare la descrizione del modulo.

set_description(description)

Parametri

description
str
Necessario

Descrizione da impostare.

Eccezioni

set_name

Impostare il nome del modulo.

set_name(name)

Parametri

name
str
Necessario

Nome da impostare.

Eccezioni

Attributi

default_version

Ottenere la versione predefinita del modulo.

Restituisce

Stringa di versione predefinita.

Tipo restituito

str

description

Ottenere la descrizione del modulo.

Restituisce

Stringa di descrizione.

Tipo restituito

str

id

Ottenere l'ID del modulo.

Restituisce

ID.

Tipo restituito

str

name

Ottenere il nome del modulo.

Restituisce

Nome.

Tipo restituito

str

status

Ottenere lo stato del modulo.

Restituisce

Stato.

Tipo restituito

str