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. Un modulo ha uno snapshot associato a esso, che acquisisce la raccolta di file definiti per il modulo.
Inizializzare il modulo.
- Ereditarietà
-
builtins.objectModule
Costruttore
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
Parametri
Nome | Descrizione |
---|---|
workspace
Necessario
|
L'oggetto dell'area di lavoro a cui appartiene il modulo. |
module_id
Necessario
|
ID del modulo. |
name
Necessario
|
Nome del modulo. |
description
Necessario
|
Descrizione del modulo. |
status
Necessario
|
Nuovo stato del modulo: 'Attivo', 'Deprecato' o 'Disabilitato'. |
default_version
Necessario
|
Versione predefinita del modulo. |
module_version_list
Necessario
|
Elenco di oggetti ModuleVersionDescriptor. |
_module_provider
|
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Solo uso interno). Provider di moduli. Valore predefinito: None
|
_module_version_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Solo uso interno). Provider ModuleVersion. Valore predefinito: None
|
workspace
Necessario
|
L'oggetto dell'area di lavoro a cui appartiene il modulo. |
module_id
Necessario
|
ID del modulo. |
name
Necessario
|
Nome del modulo. |
description
Necessario
|
Descrizione del modulo. |
status
Necessario
|
Nuovo stato del modulo: 'Attivo', 'Deprecato' o 'Disabilitato'. |
default_version
Necessario
|
Versione predefinita del modulo. |
module_version_list
Necessario
|
Elenco di oggetti ModuleVersionDescriptor. |
_module_provider
Necessario
|
<xref:<xref:_AevaMlModuleProvider object>>
Provider di moduli. |
_module_version_provider
Necessario
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
Provider ModuleVersion. |
Commenti
Un modulo funge da contenitore delle versioni. Nell'esempio publish_python_script seguente viene creato un ModuleVersion dal metodo e ha due input e due output. La creazione di 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 durante la definizione di una pipeline, in passaggi diversi, usando un ModuleStepoggetto .
Nell'esempio seguente viene illustrato 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 avviene al momento dell'invio e segue il processo seguente:
- Rimuovere tutte le versioni disabilitate
- Se è stata dichiarata una versione specifica, usare questo, altrimenti
- Se una versione predefinita è stata definita nel modulo, usare questa opzione,
- Se tutte le versioni seguono il controllo delle versioni semantiche senza lettere, prendere il valore più alto, altrimenti
- Prendere la versione del modulo aggiornato l'ultima volta
Si noti che poiché gli input e gli output di un nodo vengono definiti in base all'input e all'output di un modulo, se la versione risolta al momento dell'invio ha un'interfaccia diversa da quella risolta alla creazione della pipeline, l'invio della pipeline avrà esito negativo.
Il modulo sottostante può essere aggiornato con nuove versioni mantenendo invariata la 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 l'oggetto 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
Nome | Descrizione |
---|---|
workspace
Necessario
|
Area di lavoro in cui creare il modulo. |
name
Necessario
|
Nome del modulo. |
description
Necessario
|
Descrizione del modulo. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Solo uso interno). Provider del flusso di lavoro. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Oggetto Module |
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
Nome | Descrizione |
---|---|
workspace
Necessario
|
Area di lavoro in cui creare il modulo. |
module_id
|
ID del modulo. Valore predefinito: None
|
name
|
Nome del modulo. Valore predefinito: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Solo uso interno). Provider del flusso di lavoro. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Oggetto Module |
get_default
Ottenere la versione predefinita del modulo.
get_default()
Restituisce
Tipo | Descrizione |
---|---|
Versione predefinita del modulo. |
get_default_version
Ottenere la versione predefinita di Module.
get_default_version()
Restituisce
Tipo | Descrizione |
---|---|
Versione predefinita del modulo. |
get_versions
Ottenere tutte le versioni del modulo.
static get_versions(workspace, name, _workflow_provider=None)
Parametri
Nome | Descrizione |
---|---|
workspace
Necessario
|
L'area di lavoro in cui è stato creato il modulo. |
name
Necessario
|
Nome del modulo. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Solo uso interno). Provider del flusso di lavoro. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Elenco di ModuleVersionDescriptor |
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
Nome | Descrizione |
---|---|
name
Necessario
|
Nome del modulo. |
description
Necessario
|
Descrizione del modulo. |
execution_type
Necessario
|
Tipo di esecuzione del modulo. |
input_bindings
Necessario
|
Associazioni di input del modulo. |
output_bindings
Necessario
|
Associazioni di output del modulo. |
param_defs
|
Definizioni del modulo param. Valore predefinito: None
|
create_sequencing_ports
|
Indica se le porte di sequenziazione verranno create per il modulo. Valore predefinito: True
|
allow_reuse
|
Indica se il modulo sarà disponibile per essere riutilizzato. Valore predefinito: True
|
version
|
Versione del modulo. Valore predefinito: None
|
module_type
|
Tipo di modulo. Valore predefinito: None
|
step_type
|
Tipo di passaggio associato a questo modulo, ad esempio "PythonScriptStep", "HyperDriveStep" e così via. Valore predefinito: None
|
arguments
|
Elenco di argomenti annotati da usare quando si chiama questo modulo Valore predefinito: None
|
runconfig
|
Runconfig che verrà usato per python_script_step Valore predefinito: None
|
cloud_settings
|
Impostazioni che verranno usate per i cloud Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Oggetto Module def. |
Eccezioni
Tipo | Descrizione |
---|---|
module_version_list
Ottenere l'elenco delle versioni del modulo.
module_version_list()
Restituisce
Tipo | Descrizione |
---|---|
Elenco di ModuleVersionDescriptor |
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
Nome | Descrizione |
---|---|
name
Necessario
|
Nome del passaggio. |
source_directory
Necessario
|
Directory di origine per il passaggio. |
script_name
Necessario
|
Nome dello script per il passaggio. |
Restituisce
Tipo | Descrizione |
---|---|
Directory di origine e percorsi hash. |
Eccezioni
Tipo | Descrizione |
---|---|
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
Nome | Descrizione |
---|---|
description
Necessario
|
Descrizione del modulo. |
execution_type
Necessario
|
Tipo di esecuzione del modulo.
I valori accettabili sono |
inputs
Necessario
|
Input del modulo. |
outputs
Necessario
|
Output del modulo. |
param_defs
|
Definizioni dei parametri del modulo. Valore predefinito: None
|
create_sequencing_ports
|
Indica se le porte di sequenziazione verranno create per il modulo. Valore predefinito: True
|
version
|
Versione del modulo. Valore predefinito: None
|
is_default
|
Indica se la versione pubblicata deve essere quella predefinita. Valore predefinito: False
|
content_path
|
directory Valore predefinito: None
|
hash_paths
|
Elenco di percorsi da hash durante il controllo delle modifiche apportate al contenuto del passaggio. Se non sono state rilevate modifiche, la pipeline ririuserà il contenuto del passaggio da un'esecuzione precedente. Per impostazione predefinita, il contenuto dell'oggetto Valore predefinito: None
|
category
|
Categoria della versione del modulo Valore predefinito: None
|
arguments
|
Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti di output (OutputPortDef) e parametri della pipeline (PipelineParameter). Valore predefinito: None
|
runconfig
|
RunConfiguration facoltativo. È possibile usare RunConfiguration per specificare requisiti aggiuntivi per l'esecuzione, ad esempio dipendenze conda e un'immagine Docker. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Eccezioni
Tipo | Descrizione |
---|---|
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
Nome | Descrizione |
---|---|
script_name
Necessario
|
Nome di uno script ADLA, relativo a |
description
Necessario
|
Descrizione della versione del modulo. |
inputs
Necessario
|
Associazioni di input del modulo. |
outputs
Necessario
|
Associazioni di output del modulo. |
params
|
Params ModuleVersion, come coppie nome-default_value. Valore predefinito: None
|
create_sequencing_ports
|
Indica se le porte di sequenziazione verranno create per il modulo. Valore predefinito: True
|
degree_of_parallelism
|
Grado di parallelismo da usare per questo processo. Valore predefinito: None
|
priority
|
Valore della priorità da usare per il processo corrente. Valore predefinito: None
|
runtime_version
|
Versione di runtime del motore azure Data Lake Analytics (ADLA). Valore predefinito: None
|
compute_target
|
Calcolo ADLA da usare per questo processo. Valore predefinito: None
|
version
|
Versione del modulo. Valore predefinito: None
|
is_default
|
Indica se la versione pubblicata deve essere quella predefinita. Valore predefinito: False
|
source_directory
|
directory Valore predefinito: None
|
hash_paths
|
hash_paths Valore predefinito: None
|
category
|
Categoria della versione del modulo Valore predefinito: None
|
arguments
|
Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti di output (OutputPortDef) e parametri della pipeline (PipelineParameter). Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
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
Nome | Descrizione |
---|---|
description
Necessario
|
Descrizione della versione del modulo. |
compute_target
Necessario
|
BatchCompute oppure
str
Destinazione di calcolo BatchCompute. |
inputs
Necessario
|
Associazioni di input del modulo. |
outputs
Necessario
|
Associazioni di output del modulo. |
params
|
Params ModuleVersion, come coppie nome-default_value. Valore predefinito: None
|
create_sequencing_ports
|
Indica se le porte di sequenziazione verranno create per il modulo. Valore predefinito: True
|
version
|
Versione del modulo. Valore predefinito: None
|
is_default
|
Indica se la versione pubblicata deve essere quella predefinita. Valore predefinito: False
|
create_pool
|
Indica se creare il pool prima di eseguire i processi. Valore predefinito: False
|
pool_id
|
(Obbligatorio) ID del pool in cui verrà eseguito il processo. Valore predefinito: None
|
delete_batch_job_after_finish
|
Indica se eliminare il processo dall'account Batch al termine. Valore predefinito: False
|
delete_batch_pool_after_finish
|
Indica se eliminare il pool al termine del processo. Valore predefinito: False
|
is_positive_exit_code_failure
|
Indica se il processo ha esito negativo se l'attività esiste con un codice positivo. Valore predefinito: True
|
vm_image_urn
|
Se Valore predefinito: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
|
run_task_as_admin
|
Indica se l'attività deve essere eseguita con privilegi di Amministrazione. Valore predefinito: False
|
target_compute_nodes
|
Se Valore predefinito: 1
|
vm_size
|
Se Valore predefinito: standard_d1_v2
|
executable
|
Nome del comando/eseguibile che verrà eseguito come parte del processo. Valore predefinito: None
|
source_directory
|
Directory di origine. Valore predefinito: None
|
category
|
Categoria della versione del modulo Valore predefinito: None
|
arguments
|
Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti di output (OutputPortDef) e parametri della pipeline (PipelineParameter). Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Eccezioni
Tipo | Descrizione |
---|---|
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
Nome | Descrizione |
---|---|
script_name
Necessario
|
Nome di uno script Python, relativo a |
description
Necessario
|
Descrizione della versione del modulo. |
inputs
Necessario
|
Associazioni di input del modulo. |
outputs
Necessario
|
Associazioni di output del modulo. |
params
|
Params ModuleVersion, come coppie nome-default_value. Valore predefinito: None
|
create_sequencing_ports
|
Indica se le porte di sequenziazione verranno create per il modulo. Valore predefinito: True
|
version
|
Versione del modulo. Valore predefinito: None
|
is_default
|
Indica se la versione pubblicata deve essere quella predefinita. Valore predefinito: False
|
source_directory
|
directory Valore predefinito: None
|
hash_paths
|
Elenco di percorsi da hash durante il controllo delle modifiche apportate al contenuto del passaggio. Se non sono state rilevate modifiche, la pipeline ririuserà il contenuto del passaggio da un'esecuzione precedente. Per impostazione predefinita, il contenuto dell'oggetto Valore predefinito: None
|
category
|
Categoria della versione del modulo Valore predefinito: None
|
arguments
|
Argomenti da usare quando si chiama il modulo. Gli argomenti possono essere stringhe, riferimenti di input (InputPortDef), riferimenti di output (OutputPortDef) e parametri della pipeline (PipelineParameter). Valore predefinito: None
|
runconfig
|
RunConfiguration facoltativo. È possibile usare RunConfiguration per specificare requisiti aggiuntivi per l'esecuzione, ad esempio dipendenze conda e un'immagine Docker. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
resolve
Risolvere e restituire l'oggetto ModuleVersion corretto.
resolve(version=None)
Parametri
Nome | Descrizione |
---|---|
version
|
Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Versione del modulo da usare. |
set_default_version
Impostare ModuleVersion predefinito del modulo.
set_default_version(version_id)
Parametri
Nome | Descrizione |
---|---|
version_id
Necessario
|
|
Restituisce
Tipo | Descrizione |
---|---|
Versione predefinita. |
Eccezioni
Tipo | Descrizione |
---|---|
set_description
Impostare la descrizione del modulo.
set_description(description)
Parametri
Nome | Descrizione |
---|---|
description
Necessario
|
Descrizione da impostare. |
Eccezioni
Tipo | Descrizione |
---|---|
set_name
Impostare il nome del modulo.
set_name(name)
Parametri
Nome | Descrizione |
---|---|
name
Necessario
|
Nome da impostare. |
Eccezioni
Tipo | Descrizione |
---|---|
Attributi
default_version
Ottenere la versione predefinita del modulo.
Restituisce
Tipo | Descrizione |
---|---|
Stringa di versione predefinita. |