PipelineStep Classe
Rappresenta un passaggio di esecuzione in una pipeline di Azure Machine Learning.
Le pipeline vengono costruite da più passaggi della pipeline, che sono unità di calcolo distinte nella pipeline. Ogni passaggio può essere eseguito in modo indipendente e può usare risorse di calcolo isolate. Ogni passaggio ha in genere input, output e parametri denominati.
La classe PipelineStep è la classe base da cui ereditano altre classi di passaggio predefinite progettate per scenari comuni, ad esempio PythonScriptStep, DataTransferStepe HyperDriveStep.
Per una panoramica della correlazione tra Pipeline e PipelineSteps, vedere Informazioni sulle pipeline di Machine Learning.
Inizializzare PipelineStep.
- Ereditarietà
-
builtins.objectPipelineStep
Costruttore
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parametri
- arguments
- list
Elenco facoltativo di argomenti da passare a uno script usato nel passaggio.
- fix_port_name_collisions
- bool
Specifica se correggere i conflitti di nomi. Se True e un input e un output hanno lo stesso nome, l'input è preceduto da "INPUT". Il valore predefinito è False.
- resource_inputs
- list
Elenco facoltativo di input da usare come risorse. Le risorse vengono scaricate nella cartella script e consentono di modificare il comportamento dello script in fase di esecuzione.
- arguments
- list
Elenco facoltativo di argomenti da passare a uno script usato nel passaggio.
- fix_port_name_collisions
- bool
Specifica se correggere i conflitti di nomi. Se True e un input e un output hanno lo stesso nome, l'input è preceduto da "INPUT". Il valore predefinito è False.
- resource_inputs
- list
Elenco facoltativo di input da usare come risorse. Le risorse vengono scaricate nella cartella script e consentono di modificare il comportamento dello script in fase di esecuzione.
Commenti
Un oggetto PipelineStep è un'unità di esecuzione che in genere richiede una destinazione di esecuzione (destinazione di calcolo), uno script da eseguire con argomenti e input di script facoltativi e può produrre output. Il passaggio può anche eseguire diversi altri parametri specifici del passaggio.
I passaggi della pipeline possono essere configurati insieme per costruire un Pipelineoggetto , che rappresenta un flusso di lavoro di Azure Machine Learning condivisibile e riutilizzabile. Ogni passaggio di una pipeline può essere configurato per consentire il riutilizzo dei risultati dell'esecuzione precedente se il contenuto del passaggio (script/dipendenze) e gli input e i parametri rimangono invariati. 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.
Le pipeline di Azure Machine Learning offrono procedure predefinite per scenari comuni. Per esempi, vedere il steps pacchetto e la AutoMLStep classe . Per una panoramica sulla creazione di una pipeline basata su passaggi predefiniti, vedere https://aka.ms/pl-first-pipeline.
I passaggi predefiniti derivati da PipelineStep sono passaggi usati in una pipeline. Se l'uso del flusso di lavoro di Machine Learning richiede la creazione di passaggi che possono essere con controllo delle versioni e usati in pipeline diverse, usare la Module classe .
Quando si lavora con i passaggi della pipeline, i dati di input/output e il riutilizzo dei passaggi, tenere presente quanto segue.
È consigliabile usare percorsi di source_directory separati per i passaggi separati. Se tutti gli script nei passaggi della pipeline si trovano in una singola directory, l'hash di tale directory viene modificato ogni volta che si apporta una modifica a uno script forzando tutti i passaggi per rieseguire. Per un esempio di uso di directory separate per passaggi diversi, vedere https://aka.ms/pl-get-started.
La gestione di cartelle separate per gli script e i file dipendenti per ogni passaggio consente di ridurre le dimensioni dello snapshot creato per ogni passaggio perché viene creata solo la cartella specifica. Poiché le modifiche apportate a tutti i file nel passaggio source_directory attivano un nuovo caricamento dello snapshot, la gestione di cartelle separate ogni passaggio consente di riutilizzare i passaggi nella pipeline perché se non sono presenti modifiche nella source_directory di un passaggio, viene riutilizzata l'esecuzione precedente del passaggio.
Se i dati usati in un passaggio si trovano in un archivio dati e allow_reuse è True, le modifiche apportate alla modifica dei dati non verranno rilevate. Se i dati vengono caricati come parte dello snapshot (nel source_directory del passaggio), anche se questo non è consigliato, l'hash cambierà e attiverà una riesecuzione.
Metodi
create_input_output_bindings |
Creare associazioni di input e output dagli input e dagli output del passaggio. |
create_module_def |
Creare l'oggetto definizione del modulo che descrive il passaggio. |
create_node |
Creare un nodo per il grafico della pipeline in base a questo passaggio. |
get_source_directory |
Ottenere la directory di origine per il passaggio e verificare che lo script esista. |
resolve_input_arguments |
Associare input e output agli argomenti per produrre una stringa di argomento. |
run_after |
Eseguire questo passaggio dopo il passaggio specificato. |
validate_arguments |
Verificare che gli input e gli output del passaggio forniti negli argomenti si trovino negli elenchi di input e output. |
create_input_output_bindings
Creare associazioni di input e output dagli input e dagli output del passaggio.
create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)
Parametri
- default_datastore
- AbstractAzureStorageDatastore oppure AzureDataLakeDatastore
Archivio dati predefinito.
- resource_inputs
- list
Elenco di input da usare come risorse. Le risorse vengono scaricate nella cartella script e consentono di modificare il comportamento dello script in fase di esecuzione.
Restituisce
Tupla delle associazioni di input e delle associazioni di output.
Tipo restituito
create_module_def
Creare l'oggetto definizione del modulo che descrive il passaggio.
create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)
Parametri
- create_sequencing_ports
- bool
Specifica se le porte di sequenziazione verranno create per il modulo.
- allow_reuse
- bool
Specifica se il modulo sarà disponibile per essere riutilizzato nelle pipeline future.
- module_type
- str
Tipo di modulo per il servizio di creazione del modulo da creare. Attualmente sono supportati solo due tipi: 'None' e 'BatchInferencing'. module_type
è diverso da execution_type
quello che specifica il tipo di servizio back-end da usare per eseguire questo modulo.
- arguments
- list
Elenco di argomenti con annotazioni da usare quando si chiama questo modulo
- cloud_settings
- <xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Impostazioni che verranno usate per i cloud
Restituisce
Oggetto definizione del modulo.
Tipo restituito
create_node
Creare un nodo per il grafico della pipeline in base a questo passaggio.
abstract create_node(graph, default_datastore, context)
Parametri
- default_datastore
- AbstractAzureStorageDatastore oppure AzureDataLakeDatastore
Archivio dati predefinito da usare per questo passaggio.
- context
- <xref:azureml.pipeline.core._GraphContext>
Oggetto contesto del grafo.
Restituisce
Nodo creato.
Tipo restituito
get_source_directory
Ottenere la directory di origine per il passaggio e verificare che lo script esista.
get_source_directory(context, source_directory, script_name)
Parametri
- context
- <xref:azureml.pipeline.core._GraphContext>
Oggetto contesto del grafo.
Restituisce
Directory di origine e percorsi hash.
Tipo restituito
resolve_input_arguments
Associare input e output agli argomenti per produrre una stringa di argomento.
static resolve_input_arguments(arguments, inputs, outputs, params)
Parametri
Restituisce
Restituisce una tupla di due elementi. Il primo è un elenco semplice di elementi per gli argomenti risolti. Il secondo è un elenco di argomenti strutturati (_InputArgument, _OutputArgument, _ParameterArgument e _StringArgument)
Tipo restituito
run_after
Eseguire questo passaggio dopo il passaggio specificato.
run_after(step)
Parametri
Commenti
Se si vuole eseguire un passaggio, ad esempio step3 dopo il completamento di step1 e step2, è possibile usare:
step3.run_after(step1)
step3.run_after(step2)
validate_arguments
Verificare che gli input e gli output del passaggio forniti negli argomenti si trovino negli elenchi di input e output.
static validate_arguments(arguments, inputs, outputs)
Parametri
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per