Condividi tramite


AutoMLStep Classe

Crea un passaggio della pipeline di Azure ML che incapsula un'esecuzione di Machine Learning automatizzata.

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

Inizializzare un oggetto 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

Nome Descrizione
name
Necessario
str

Nome del passaggio.

automl_config
Necessario

Oggetto AutoMLConfig che definisce la configurazione per l'esecuzione di AutoML.

inputs

Elenco di associazioni di porte di input.

valore predefinito: None
outputs

Elenco di associazioni di porte di output.

valore predefinito: None
script_repl_params

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

valore predefinito: None
allow_reuse

Indica se il passaggio deve riutilizzare i risultati precedenti quando viene eseguito 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 viene determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

valore predefinito: True
version
str

Versione da assegnare al passaggio.

valore predefinito: None
hash_paths

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

Per impostazione predefinita, tutti i file nel path parametro in AutoMLConfig vengono sottoposti a 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.

valore predefinito: None
enable_default_model_output

Indica se il modello migliore verrà aggiunto come output predefinito. Può essere usato per recuperare il modello migliore dopo il completamento dell'esecuzione usando la AutoMLStepRun classe . Si noti che se l'output del modello predefinito non è obbligatorio, è consigliabile impostare questo parametro su False.

valore predefinito: True
enable_default_metrics_output

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 . Si noti che se l'output predefinito delle metriche non è obbligatorio, è consigliabile impostare questo parametro su False.

valore predefinito: True
name
Necessario
str

Nome del passaggio.

automl_config
Necessario

AutoMLConfig che definisce la configurazione per l'esecuzione di AutoML.

inputs
Necessario

Elenco di associazioni di porte di input.

outputs
Necessario

Elenco di associazioni di porte di output.

script_repl_params
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
Necessario

Indica se il passaggio deve riutilizzare i risultati precedenti quando viene eseguito 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 viene determinato dal fatto che la definizione del set di dati sia stata modificata, non dal fatto che i dati sottostanti siano stati modificati.

version
Necessario
str

Versione da assegnare al passaggio.

hash_paths
Necessario

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

Per impostazione predefinita, tutti i file nel path parametro in AutoMLConfig vengono sottoposti a 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
Necessario

Indica se il modello migliore verrà aggiunto come output predefinito. Può essere usato per recuperare il modello migliore dopo il completamento dell'esecuzione usando la AutoMLStepRun classe . Si noti che se l'output del modello predefinito non è obbligatorio, è consigliabile impostare questo parametro su False.

enable_default_metrics_output
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 . Si noti che se l'output predefinito delle metriche non è obbligatorio, è consigliabile impostare questo parametro su False.

Commenti

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

Quando il flusso di lavoro di Machine Learning automatizzato si trova in una pipeline, è possibile pianificare l'esecuzione della pipeline in base a una pianificazione basata sul tempo o in base a una pianificazione basata sulle modifiche. Le pianificazioni basate sul tempo sono utili per attività di routine come il monitoraggio della deriva dei dati, mentre le pianificazioni basate sulle modifiche sono utili per 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 cambiano e quindi registrare una nuova versione del modello al termine dell'esecuzione. Per altre informazioni, vedere Pianificare 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 oggetto 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 utilizzare l'oggetto AutoMLStep in un oggetto Pipeline.


   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 di Machine Learning automatizzato reale, si avrà almeno un passaggio della pipeline che esegue la preparazione dei dati prima di AutoMLStep e un altro passaggio della pipeline dopo che registra il modello. Ad esempio, questo tipo di flusso di lavoro, vedere il notebook https://aka.ms/automl-retrain-pipeline.

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

Per altre informazioni sull'apprendimento automatico 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 Machine Learning 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 tale passaggio possa essere aggiunto a un grafo 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 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

Nodo creato.

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_'