Condividi tramite


ModuleStep Classe

Crea un passaggio della pipeline di Azure Machine Learning per eseguire una versione specifica di un modulo.

Module gli oggetti definiscono calcoli riutilizzabili, ad esempio script o eseguibili, che possono essere usati in diversi scenari di Machine Learning e da utenti diversi. Per usare una versione specifica di un modulo in una pipeline, creare un moduloStep. ModuleStep è un passaggio nella pipeline che usa un oggetto esistente ModuleVersion.

Per un esempio di uso di ModuleStep, vedere il notebook https://aka.ms/pl-modulestep.

Creare un passaggio della pipeline di Azure ML per eseguire una versione specifica di un modulo.

Ereditarietà
ModuleStep

Costruttore

ModuleStep(module=None, version=None, module_version=None, inputs_map=None, outputs_map=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, arguments=None, params=None, name=None, _workflow_provider=None)

Parametri

Nome Descrizione
module

Modulo usato nel passaggio. Specificare o il modulemodule_version parametro ma non entrambi.

Valore predefinito: None
version
str

Versione del modulo usata nel passaggio.

Valore predefinito: None
module_version

ModuleVersion del modulo usato nel passaggio. Specificare o il modulemodule_version parametro ma non entrambi.

Valore predefinito: None
inputs_map

Dizionario che esegue il mapping dei nomi delle definizioni di porta di ModuleVersion agli input del passaggio.

Valore predefinito: None
outputs_map

Dizionario che esegue il mapping dei nomi delle definizioni di porta di ModuleVersion agli output del passaggio.

Valore predefinito: None
compute_target

Destinazione di calcolo da usare. Se non specificato, verrà usata la destinazione dal runconfig. Può essere un oggetto di destinazione di calcolo o il nome stringa di una destinazione di calcolo nell'area di lavoro. Facoltativamente, se la destinazione di calcolo non è disponibile in fase di creazione della pipeline, è possibile specificare una tupla di ('nome della destinazione di calcolo', 'tipo di destinazione di calcolo') per evitare il recupero dell'oggetto di destinazione di calcolo (il tipo AmlCompute è 'AmlCompute' e il tipo RemoteCompute è 'VirtualMachine').

Valore predefinito: None
runconfig

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

Valore predefinito: None
runconfig_pipeline_params

Override delle proprietà runconfig in fase di esecuzione usando coppie chiave-valore ognuna con il nome della proprietà runconfig e PipelineParameter per tale proprietà.

Valori supportati: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

Valore predefinito: None
arguments

Elenco di argomenti della riga di comando per il file di script Python. Gli argomenti verranno recapitati alla destinazione di calcolo tramite argomenti in RunConfiguration. Per altri dettagli su come gestire argomenti come simboli speciali, vedere gli argomenti in RunConfiguration

Valore predefinito: None
params

Dizionario di coppie nome-valore.

Valore predefinito: None
name
str

Nome del passaggio.

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

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

Valore predefinito: None
module
Necessario

Modulo usato nel passaggio. Specificare o il modulemodule_version parametro ma non entrambi.

version
Necessario
str

Versione del modulo usata nel passaggio.

module_version
Necessario

ModuleVersion del modulo usato nel passaggio. Specificare o il modulemodule_version parametro ma non entrambi.

inputs_map
Necessario
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, DatasetConsumptionConfig]]

Dizionario che esegue il mapping dei nomi delle definizioni di porta di ModuleVersion agli input del passaggio.

outputs_map
Necessario
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>]]

Dizionario che esegue il mapping dei nomi delle definizioni di porta di ModuleVersion agli output del passaggio.

compute_target
Necessario

Destinazione di calcolo da usare. Se non specificato, verrà usata la destinazione dal runconfig. Può essere un oggetto di destinazione di calcolo o il nome stringa di una destinazione di calcolo nell'area di lavoro. Facoltativamente, se la destinazione di calcolo non è disponibile in fase di creazione della pipeline, è possibile specificare una tupla di ('nome della destinazione di calcolo', 'tipo di destinazione di calcolo') per evitare il recupero dell'oggetto di destinazione di calcolo (il tipo AmlCompute è 'AmlCompute' e il tipo RemoteCompute è 'VirtualMachine').

runconfig
Necessario

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

runconfig_pipeline_params
Necessario

Override delle proprietà runconfig in fase di esecuzione usando coppie chiave-valore ognuna con il nome della proprietà runconfig e PipelineParameter per tale proprietà.

Valori supportati: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

arguments
Necessario

Elenco di argomenti della riga di comando per il file di script Python. Gli argomenti verranno recapitati alla destinazione di calcolo tramite argomenti in RunConfiguration. Per altri dettagli su come gestire argomenti come simboli speciali, vedere gli argomenti in RunConfiguration

params
Necessario

Dizionario di coppie nome-valore.

name
Necessario
str

Nome del passaggio.

_wokflow_provider
Necessario

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

Commenti

Un Module viene usato per creare e gestire un'unità di calcolo resusabile di una pipeline di Azure Machine Learning. ModuleStep è il passaggio predefinito di Azure Machine Learning usato per usare un modulo. È possibile definire in modo specifico quale ModuleVersion usare o consentire ad Azure Machine Learning di risolvere quale ModuleVersion usare seguendo il processo di risoluzione definito nella sezione osservazioni della Module classe. Per definire quale ModuleVersion viene usato in una pipeline inviata, definire uno dei seguenti elementi durante la creazione di un moduloStep:

  • Un oggetto ModuleVersion.

  • Oggetto Module e valore della versione.

  • Oggetto Module senza un valore di versione. In questo caso, la risoluzione della versione può variare tra gli invii.

È necessario definire il mapping tra gli input e gli output di ModuleStep negli input e negli output di ModuleVersion.

L'esempio seguente illustra come creare un moduleStep come parte della pipeline con più oggetti 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

Metodi

create_node

Creare un nodo dal passaggio ModuleStep e aggiungerlo al grafico specificato.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_node

Creare un nodo dal passaggio ModuleStep e aggiungerlo al grafico specificato.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con questo passaggio, Azure ML passa automaticamente i parametri necessari tramite questo metodo in modo che tale passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_node(graph, default_datastore, context)

Parametri

Nome Descrizione
graph
Necessario

Oggetto grafico a cui aggiungere il nodo.

default_datastore
Necessario

Archivio dati predefinito.

context
Necessario
<xref:azureml.pipeline.core._GraphContext>

Contesto del grafo.

Restituisce

Tipo Descrizione

Oggetto node.