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 i propri input denominati, output e parametri.
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 del modo in cui sono correlate pipeline e pipelineSteps, vedere Informazioni sulle pipeline di ML.
Inizializzare PipelineStep.
- Ereditarietà
-
builtins.objectPipelineStep
Costruttore
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parametri
Nome | Descrizione |
---|---|
name
Necessario
|
Nome del passaggio della pipeline. |
inputs
Necessario
|
Elenco di input di passaggio. |
outputs
Necessario
|
Elenco degli output dei passaggi. |
arguments
|
Elenco facoltativo di argomenti da passare a uno script usato nel passaggio. Valore predefinito: None
|
fix_port_name_collisions
|
Specifica se correggere le collisioni dei nomi. Se True e un input e un output hanno lo stesso nome, l'input viene preceduto da "INPUT". Il valore predefinito è False. Valore predefinito: False
|
resource_inputs
|
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. Valore predefinito: None
|
name
Necessario
|
Nome del passaggio della pipeline. |
inputs
Necessario
|
Elenco di input di passaggio. |
outputs
Necessario
|
Elenco degli output dei passaggi. |
arguments
Necessario
|
Elenco facoltativo di argomenti da passare a uno script usato nel passaggio. |
fix_port_name_collisions
Necessario
|
Specifica se correggere le collisioni dei nomi. Se True e un input e un output hanno lo stesso nome, l'input viene preceduto da "INPUT". Il valore predefinito è False. |
resource_inputs
Necessario
|
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
PipelineStep è un'unità di esecuzione che in genere richiede una destinazione di esecuzione (destinazione di calcolo), uno script da eseguire con argomenti e input script facoltativi e può produrre output. Il passaggio potrebbe anche eseguire un numero di altri parametri specifici del passaggio.
I passaggi della pipeline possono essere configurati insieme per costruire un oggetto , che rappresenta un Pipelineflusso 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 i parametri e gli input 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.
Azure Machine Learning Pipelines offre passaggi predefiniti per scenari comuni. Per esempi, vedere il steps pacchetto e la AutoMLStep classe. Per una panoramica sulla creazione di una pipeline in base ai passaggi predefiniti, vedere https://aka.ms/pl-first-pipeline.
I passaggi predefiniti derivati da PipelineStep sono passaggi usati in una pipeline. Se il flusso di lavoro di Machine Learning usa chiamate per la creazione di passaggi che possono essere versioni e usati in pipeline diverse, usare la Module classe .
Tenere presente quanto segue quando si utilizzano i passaggi della pipeline, i dati di input/output e il riutilizzo dei passaggi.
È consigliabile usare percorsi di source_directory separati per 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 da eseguire di nuovo. 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 snapshotata 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, l'esecuzione precedente del passaggio viene riutilizzata.
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 (sotto la source_directory del passaggio), anche se non è consigliabile, 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 |
Trovare le corrispondenze di 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 dei passaggi forniti negli argomenti si trovino negli elenchi 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
Nome | Descrizione |
---|---|
inputs
Necessario
|
Elenco di input di passaggio. |
outputs
Necessario
|
Elenco degli output dei passaggi. |
default_datastore
Necessario
|
Archivio dati predefinito. |
resource_inputs
|
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. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Tupla delle associazioni di input e associazioni di output. |
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
Nome | Descrizione |
---|---|
execution_type
Necessario
|
Tipo di esecuzione del modulo. |
input_bindings
Necessario
|
Associazioni di input del passaggio. |
output_bindings
Necessario
|
Associazioni di output del passaggio. |
param_defs
|
Definizioni dei parametri di passaggio. Valore predefinito: None
|
create_sequencing_ports
|
Specifica se le porte di sequenziazione verranno create per il modulo. Valore predefinito: True
|
allow_reuse
|
Specifica se il modulo sarà disponibile per essere riutilizzato nelle pipeline future. Valore predefinito: True
|
version
|
Versione del modulo. Valore predefinito: None
|
module_type
|
Tipo di modulo per il servizio di creazione del modulo da creare. Attualmente sono supportati solo due tipi: 'Nessuno' e 'BatchInferencing'.
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
|
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Impostazioni che verranno usate per i cloud Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Oggetto definizione del modulo. |
create_node
Creare un nodo per il grafico della pipeline in base a questo passaggio.
abstract create_node(graph, default_datastore, context)
Parametri
Nome | Descrizione |
---|---|
graph
Necessario
|
Grafico a cui aggiungere il nodo. |
default_datastore
Necessario
|
Archivio dati predefinito da usare per questo passaggio. |
context
Necessario
|
<xref:azureml.pipeline.core._GraphContext>
Oggetto contesto del grafico. |
Restituisce
Tipo | Descrizione |
---|---|
Nodo creato. |
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
Nome | Descrizione |
---|---|
context
Necessario
|
<xref:azureml.pipeline.core._GraphContext>
Oggetto contesto del grafico. |
source_directory
Necessario
|
Directory di origine per il passaggio. |
script_name
Necessario
|
Nome dello script per il passaggio. |
hash_paths
Necessario
|
Percorsi hash da usare per determinare l'impronta digitale del modulo. |
Restituisce
Tipo | Descrizione |
---|---|
Directory di origine e percorsi hash. |
resolve_input_arguments
Trovare le corrispondenze di input e output agli argomenti per produrre una stringa di argomento.
static resolve_input_arguments(arguments, inputs, outputs, params)
Parametri
Nome | Descrizione |
---|---|
arguments
Necessario
|
Elenco di argomenti di passaggio. |
inputs
Necessario
|
Elenco di input di passaggio. |
outputs
Necessario
|
Elenco degli output dei passaggi. |
params
Necessario
|
Elenco dei parametri di passaggio. |
Restituisce
Tipo | Descrizione |
---|---|
Restituisce una tupla di due elementi. Il primo è un elenco flat di elementi per gli argomenti risolti. Il secondo è un elenco di argomenti strutturati (_InputArgument, _OutputArgument, _ParameterArgument e _StringArgument) |
run_after
Eseguire questo passaggio dopo il passaggio specificato.
run_after(step)
Parametri
Nome | Descrizione |
---|---|
step
Necessario
|
Passaggio della pipeline da eseguire prima di questo passaggio. |
Commenti
Se si vuole eseguire un passaggio, ad esempio, passaggio3 dopo aver completato sia il passaggio1 che il passaggio2, è possibile usare:
step3.run_after(step1)
step3.run_after(step2)
validate_arguments
Verificare che gli input e gli output dei passaggi forniti negli argomenti si trovino negli elenchi input e output.
static validate_arguments(arguments, inputs, outputs)
Parametri
Nome | Descrizione |
---|---|
arguments
Necessario
|
Elenco di argomenti di passaggio. |
inputs
Necessario
|
Elenco di input di passaggio. |
outputs
Necessario
|
Elenco degli output dei passaggi. |