Condividi tramite


AutoMLStep Classe

Crea un passaggio di Azure ML Pipeline che incapsula un'esecuzione automatica di Machine Learning.

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

Inizializzare un'istruzione AutoMLStep.

Ereditarietà
AutoMLStep

Costruttore

AutoMLStep(name, automl_config, inputs=None, outputs=None, script_repl_params=None, allow_reuse=True, version=None, hash_paths=None, enable_default_model_output=True, enable_default_metrics_output=True, **kwargs)

Parametri

name
str
Necessario

Nome del passaggio.

automl_config
AutoMLConfig
Necessario

Oggetto AutoMLConfig che definisce la configurazione per l'esecuzione autoML.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
valore predefinito: None

Elenco di associazioni di porte di input.

outputs
list[Union[PipelineData, OutputPortBinding]]
valore predefinito: None

Elenco di associazioni di porte di output.

script_repl_params
dict
valore predefinito: None

Parametri facoltativi da sostituire in uno script, ad esempio {'param1': 'value1', 'param2': 'value2'}.

allow_reuse
bool
valore predefinito: True

Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue di nuovo con le stesse impostazioni.

Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo è determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

version
str
valore predefinito: None

Versione da assegnare al passaggio.

hash_paths
list
valore predefinito: None

DEPRECATO. Elenco di percorsi da hash durante il controllo delle modifiche apportate al contenuto del passaggio della pipeline.

Per impostazione predefinita, tutti i file nel path parametro in AutoMLConfig sono hash, ad eccezione dei file elencati in .amlignore o .gitignore in path. Se non sono state rilevate modifiche, la pipeline riutilizza il contenuto del passaggio da un'esecuzione precedente.

enable_default_model_output
bool
valore predefinito: True

Indica se il modello migliore verrà aggiunto come output predefinito. Questa operazione può essere usata per recuperare il modello migliore dopo il completamento dell'esecuzione usando la AutoMLStepRun classe . Nota, se l'output del modello predefinito non è obbligatorio, è consigliabile impostare questo parametro su False.

enable_default_metrics_output
bool
valore predefinito: True

Indica se tutte le metriche di esecuzione figlio verranno aggiunte come output predefinito. Questa operazione può essere usata per recuperare le metriche di esecuzione figlio dopo il completamento dell'esecuzione usando la AutoMLStepRun classe . Nota, se l'output delle metriche predefinite non è obbligatorio, è consigliabile impostare questo parametro su False.

name
str
Necessario

Nome del passaggio.

automl_config
AutoMLConfig
Necessario

AutoMLConfig che definisce la configurazione per l'esecuzione autoML.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Necessario

Elenco di associazioni di porte di input.

outputs
list[Union[PipelineData, OutputPortBinding]]
Necessario

Elenco di associazioni di porte di output.

script_repl_params
dict
Necessario

Parametri facoltativi da sostituire in uno script, ad esempio {'param1': 'value1', 'param2': 'value2'}.

script_repl_params
Necessario

Parametri facoltativi da sostituire in uno script.

allow_reuse
bool
Necessario

Indica se il passaggio deve riutilizzare i risultati precedenti quando si esegue di nuovo con le stesse impostazioni.

Il riutilizzo è abilitato per impostazione predefinita. Se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati, l'output dell'esecuzione precedente di questo passaggio viene riutilizzato. Quando si riutilizza il passaggio, anziché inviare il processo al calcolo, i risultati dell'esecuzione precedente vengono immediatamente resi disponibili per tutti i passaggi successivi. Se si usano set di dati di Azure Machine Learning come input, il riutilizzo è determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

version
str
Necessario

Versione da assegnare al passaggio.

hash_paths
list
Necessario

DEPRECATO. Elenco di percorsi da hash durante il controllo delle modifiche apportate al contenuto del passaggio della pipeline.

Per impostazione predefinita, tutti i file nel path parametro in AutoMLConfig sono hash, ad eccezione dei file elencati in .amlignore o .gitignore in path. Se non sono state rilevate modifiche, la pipeline riutilizza il contenuto del passaggio da un'esecuzione precedente.

enable_default_model_output
bool
Necessario

Indica se il modello migliore verrà aggiunto come output predefinito. Questa operazione può essere usata per recuperare il modello migliore dopo il completamento dell'esecuzione usando la AutoMLStepRun classe . Nota, se l'output del modello predefinito non è obbligatorio, è consigliabile impostare questo parametro su False.

enable_default_metrics_output
bool
Necessario

Indica se tutte le metriche di esecuzione figlio verranno aggiunte come output predefinito. Questa operazione può essere usata per recuperare le metriche di esecuzione figlio dopo il completamento dell'esecuzione usando la AutoMLStepRun classe . Nota, se l'output delle metriche predefinite non è obbligatorio, è consigliabile impostare questo parametro su False.

Commenti

Con la classe AutoMLStep è possibile eseguire il flusso di lavoro ml automatizzato in una pipeline di Azure Machine Learning. Le pipeline offrono vantaggi come la ripetibilità, le esecuzioni automatiche, il controllo delle versioni e il rilevamento e la modularità per il flusso di lavoro di Machine Learning automatizzato. Per altre informazioni, vedere Informazioni sulle pipeline di Azure Machine Learning?

Quando il flusso di lavoro ml automatizzato si trova in una pipeline, è possibile pianificare l'esecuzione della pipeline in una pianificazione basata sul tempo o in una pianificazione basata su modifiche. Le pianificazioni basate sul tempo sono utili per le attività di routine, ad esempio il monitoraggio della deriva dei dati, mentre le pianificazioni basate sulle modifiche in base alle modifiche irregolari o imprevedibili, ad esempio quando i dati cambiano. Ad esempio, la pianificazione potrebbe eseguire il polling di un archivio BLOB in cui vengono caricati i dati e quindi eseguire di nuovo la pipeline se i dati vengono modificati e quindi registrare una nuova versione del modello al termine dell'esecuzione. Per altre informazioni, vedere Pianificare le pipeline di Machine Learning e Attivare un'esecuzione di una pipeline di Machine Learning da un'app per la logica.

Nell'esempio seguente viene illustrato come creare un autoMLStep.


   automl_step = AutoMLStep(
       name='automl_module',
       automl_config=automl_config,
       outputs=[metrics_data, model_data],
       allow_reuse=True)

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

Nell'esempio seguente viene illustrato come usare l'oggetto AutoMLStep in un Pipelineoggetto .


   from azureml.pipeline.core import Pipeline
   pipeline = Pipeline(
       description="pipeline_with_automlstep",
       workspace=ws,
       steps=[automl_step])

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

L'esempio precedente mostra un passaggio nella pipeline. Tuttavia, quando si usa AutoMLStep in un flusso di lavoro ml automatizzato reale, si avrà un passaggio di pipeline minimo che esegue la preparazione dei dati prima di AutoMLStep e un altro passaggio della pipeline dopo che registra il modello. Ad esempio di questo tipo di flusso di lavoro, vedere il notebook https://aka.ms/automl-retrain-pipeline.

Per gestire, controllare lo stato e ottenere i dettagli dell'esecuzione della pipeline, usare la AutoMLStepRun classe .

Per altre informazioni su Machine Learning automatizzato in Azure, vedere l'articolo Informazioni su Machine Learning automatizzato? Per altre informazioni sulla configurazione di un esperimento di Machine Learning automatizzato senza usare una pipeline, vedere l'articolo Configurare l'esperimento di ML automatizzato in Python.

Metodi

create_node

Creare un nodo da questo passaggio AutoML e aggiungere 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 il passaggio possa essere aggiunto a un grafico della pipeline che rappresenta il flusso di lavoro.

create_node

Creare un nodo da questo passaggio AutoML e aggiungere 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 il passaggio possa essere aggiunto a un grafico della pipeline che rappresenta il flusso di lavoro.

create_node(graph, default_datastore, context)

Parametri

graph
Graph
Necessario

Oggetto graph a cui aggiungere il nodo.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Necessario

Archivio dati predefinito.

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

Contesto del grafico.

Restituisce

Nodo creato.

Tipo restituito

Attributi

AUTOML_CONFIG_PARAM_NAME

AUTOML_CONFIG_PARAM_NAME = 'AutoMLConfig'

DEFAULT_METRIC_PREFIX

DEFAULT_METRIC_PREFIX = 'default_metrics_'

DEFAULT_MODEL_PREFIX

DEFAULT_MODEL_PREFIX = 'default_model_'