Pipeline Classe
Rappresenta una raccolta di passaggi che possono essere eseguiti come flusso di lavoro riutilizzabile di Azure Machine Learning.
Usare una pipeline per creare e gestire flussi di lavoro che uniscono varie fasi di Machine Learning. Ogni fase di Machine Learning, ad esempio la preparazione dei dati e il training del modello, può essere costituita da uno o più passaggi in una pipeline.
Per una panoramica del motivo e del momento in cui usare Pipeline, vedere https://aka.ms/pl-concept.
Per una panoramica sulla creazione di una pipeline, vedere https://aka.ms/pl-first-pipeline.
Inizializzare la pipeline.
- Ereditarietà
-
builtins.objectPipeline
Costruttore
Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)
Parametri
- default_datastore
- AbstractAzureStorageDatastore oppure AzureDataLakeDatastore
Archivio dati predefinito da usare per le connessioni dati.
- default_source_directory
- str
Directory di script predefinita per i passaggi che eseguono uno script.
- resolve_closure
- bool
Se risolvere la chiusura o meno (inserire automaticamente i passaggi dipendenti).
- default_datastore
- AbstractAzureStorageDatastore oppure AzureDataLakeDatastore
Archivio dati predefinito da usare per le connessioni dati.
- default_source_directory
- str
Directory di script predefinita per i passaggi che eseguono uno script.
- resolve_closure
- bool
Se risolvere la chiusura o meno (inserire automaticamente passaggi dipendenti).
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Provider del flusso di lavoro, se non ne viene creato uno.
- _service_endpoint
- str
L'endpoint del servizio, se None viene determinato usando l'area di lavoro.
Commenti
Viene creata una pipeline con un elenco di passaggi e un'area di lavoro. Esistono diversi tipi di passaggi che possono essere usati in una pipeline. Verrà selezionato il tipo di passaggio in base al proprio scenario di Machine Learning.
Azure Machine Learning Pipelines offre passaggi predefiniti per scenari comuni. I passaggi predefiniti derivati da PipelineStep sono passaggi usati in una pipeline. Per esempi, vedere il steps pacchetto e la AutoMLStep classe.
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 funzionalità nel Module modulo.
Inviare una pipeline usando submit. Quando viene chiamato l'invio, viene creato un oggetto PipelineRun che a sua volta crea StepRun oggetti per ogni passaggio del flusso di lavoro. Usare questi oggetti per monitorare l'esecuzione dell'esecuzione.
Un esempio per inviare una pipeline è il seguente:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline)
Esistono diverse impostazioni facoltative per una pipeline che può essere specificata per l'invio submitin .
continue_on_step_failure: indica se continuare l'esecuzione della pipeline se un passaggio ha esito negativo; il valore predefinito è False. Se True, solo i passaggi che non hanno alcuna dipendenza dall'output del passaggio non riuscito continueranno l'esecuzione.
regenerate_outputs: indica se forzare la rigenerazione di tutti gli output dei passaggi e non consentire il riutilizzo dei dati per questa esecuzione, il valore predefinito è False.
pipeline_parameters: parametri per l'esecuzione della pipeline, dizionario di {name: value}. Per informazioni dettagliate, vedere PipelineParameter.
parent_run_id: è possibile specificare un ID esecuzione per impostare l'esecuzione padre di questa pipeline, che si riflette in RunHistory. L'esecuzione padre deve appartenere allo stesso esperimento a cui viene inviata la pipeline.
Un esempio per inviare una pipeline usando queste impostazioni è il seguente:
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=steps)
pipeline_run = experiment.submit(pipeline,
continue_on_step_failure=True,
regenerate_outputs=True,
pipeline_parameters={"param1": "value1"},
parent_run_id="<run_id>")
Metodi
load_yaml |
Caricare una pipeline dal file YAML specificato. È possibile usare un file YAML per descrivere una pipeline costituita da ModuleSteps. |
publish |
Pubblicare una pipeline e renderla disponibile per la rirunning. Dopo la pubblicazione di una pipeline, può essere inviata senza il codice Python che ha costruito la pipeline. Restituisce l'oggetto creato PublishedPipeline. |
service_endpoint |
Ottenere l'endpoint del servizio associato alla pipeline. |
submit |
Inviare un'esecuzione della pipeline. Equivale all'uso di submit. Restituisce l'oggetto inviato PipelineRun. Usare questo oggetto per monitorare e visualizzare i dettagli dell'esecuzione. |
validate |
Convalidare una pipeline e identificare potenziali errori, ad esempio input non connessi. |
load_yaml
Caricare una pipeline dal file YAML specificato.
È possibile usare un file YAML per descrivere una pipeline costituita da ModuleSteps.
static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)
Parametri
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Provider del flusso di lavoro.
- _service_endpoint
- str
L'endpoint del servizio, se None, viene determinato usando l'area di lavoro.
Restituisce
Pipeline costruita.
Tipo restituito
Commenti
Per un esempio di file YAML, vedere di seguito. YAML contiene un nome, default_compute e elenchi di parametri, riferimenti ai dati e passaggi per la pipeline. Ogni passaggio deve specificare il modulo, il calcolo e il parametro, l'input e le associazioni di output. Inoltre, è possibile specificare un runconfig di passaggio e argomenti se necessario.
File Yaml di esempio:
pipeline:
description: SamplePipelineFromYaml
parameters:
NumIterationsParameter:
type: int
default: 40
DataPathParameter:
type: datapath
default:
datastore: workspaceblobstore
path_on_datastore: sample2.txt
NodeCountParameter:
type: int
default: 4
data_references:
DataReference:
datastore: workspaceblobstore
path_on_datastore: testfolder/sample.txt
Dataset:
dataset_name: 'titanic'
default_compute: aml-compute
steps:
PrepareStep:
type: ModuleStep
name: "TestModule"
compute: aml-compute2
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input1'
-input:in1
-'--input2'
-input:in2
-'--input3'
-input:in3
-'--output'
-output:output_data
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS:
source: NumIterationsParameter
inputs:
in1:
source: Dataset
bind_mode: mount
in2:
source: DataReference
in3:
source: DataPathParameter
outputs:
output_data:
destination: Output1
datastore: workspaceblobstore
bind_mode: mount
TrainStep:
type: ModuleStep
name: "TestModule2"
version: "2"
runconfig: 'D:\.azureml\default_runconfig.yml'
arguments:
-'--input'
-input:train_input
-'--output'
-output:result
-'--param'
-parameter:NUM_ITERATIONS
parameters:
NUM_ITERATIONS: 10
runconfig_parameters:
NodeCount:
source: NodeCountParameter
inputs:
train_input:
source: Output1
bind_mode: mount
outputs:
result:
destination: Output2
datastore: workspaceblobstore
bind_mode: mount
publish
Pubblicare una pipeline e renderla disponibile per la rirunning.
Dopo la pubblicazione di una pipeline, può essere inviata senza il codice Python che ha costruito la pipeline. Restituisce l'oggetto creato PublishedPipeline.
publish(name=None, description=None, version=None, continue_on_step_failure=None)
Parametri
- continue_on_step_failure
- bool
Indica se continuare l'esecuzione di altri passaggi in PipelineRun se un passaggio ha esito negativo; il valore predefinito è false. Se True, solo i passaggi che non hanno alcuna dipendenza dall'output del passaggio non riuscito continueranno l'esecuzione.
Restituisce
Creazione della pipeline pubblicata.
Tipo restituito
service_endpoint
Ottenere l'endpoint del servizio associato alla pipeline.
service_endpoint()
Restituisce
Endpoint del servizio.
Tipo restituito
submit
Inviare un'esecuzione della pipeline. Equivale all'uso di submit.
Restituisce l'oggetto inviato PipelineRun. Usare questo oggetto per monitorare e visualizzare i dettagli dell'esecuzione.
submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)
Parametri
- pipeline_parameters
- dict
Parametri per l'esecuzione della pipeline, dizionario di {name: value}. Per informazioni dettagliate, vedere PipelineParameter.
- continue_on_step_failure
- bool
Indica se continuare l'esecuzione della pipeline se un passaggio ha esito negativo. Se True, solo i passaggi che non hanno alcuna dipendenza dall'output del passaggio non riuscito continueranno l'esecuzione.
- regenerate_outputs
- bool
Indica se forzare la rigenerazione di tutti gli output dei passaggi e non consentire il riutilizzo dei dati per questa esecuzione. Se False, questa esecuzione potrebbe riutilizzare i risultati delle esecuzioni precedenti e le esecuzioni successive potrebbero riutilizzare i risultati dell'esecuzione.
- parent_run_id
- str
ID esecuzione facoltativo da impostare per l'esecuzione padre di questa pipeline, che viene riflessa in RunHistory. L'esecuzione padre deve appartenere allo stesso esperimento di questa pipeline a cui viene inviata.
- credential_passthrough
Facoltativo, se questo flag è abilitato il processo della pipeline remota userà le credenziali dell'utente che ha avviato il processo. Questa funzionalità è disponibile solo in anteprima privata.
Restituisce
Esecuzione della pipeline inviata.
Tipo restituito
validate
Convalidare una pipeline e identificare potenziali errori, ad esempio input non connessi.
validate()
Restituisce
Elenco di errori nella pipeline.
Tipo restituito
Commenti
Esempi di errori di convalida includono:
origini dati o tipi di passaggi mancanti o imprevisti
parametri o definizioni di output mancanti per un'origine dati della pipeline o un passaggio
input non connessi
passaggi della pipeline che formano un ciclo o un ciclo
Se la convalida passa (restituisce un elenco vuoto) e la pipeline non funziona, vedere debug e risolvere i problemi delle pipeline di Machine Learning.
Attributi
graph
Ottenere il grafico associato alla pipeline. I passaggi e gli input dati vengono visualizzati come nodi nel grafico.
Restituisce
Grafico.
Tipo restituito
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