PipelineParameter Classe
Definisce un parametro in un'esecuzione della pipeline.
Usare PipelineParameters per costruire pipeline versatili che possono essere inviate di nuovo in un secondo momento con valori di parametro variabili.
Inizializzare i parametri della pipeline.
- Ereditarietà
-
builtins.objectPipelineParameter
Costruttore
PipelineParameter(name, default_value)
Parametri
Nome | Descrizione |
---|---|
name
Necessario
|
Nome del parametro della pipeline. |
default_value
Necessario
|
Valore predefinito del parametro della pipeline. |
name
Necessario
|
Nome del parametro della pipeline. |
default_value
Necessario
|
Valore predefinito del parametro della pipeline. |
Commenti
PipelineParameters può essere aggiunto a qualsiasi passaggio durante la costruzione di una pipeline. Quando viene inviata la pipeline, è possibile specificare i valori di questi parametri.
Un esempio di aggiunta di pipelineParameter a un passaggio è il seguente:
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import PipelineParameter
pipeline_param = PipelineParameter(name="pipeline_arg", default_value="default_val")
train_step = PythonScriptStep(script_name="train.py",
arguments=["--param1", pipeline_param],
target=compute_target,
source_directory=project_folder)
In questo esempio è stato aggiunto un oggetto PipelineParameter con il nome "pipeline_arg" agli argomenti di pythonScriptStep. Quando viene eseguito lo script Python, il valore di PipelineParameter verrà fornito tramite gli argomenti della riga di comando. Questo oggetto PipelineParameter può anche essere aggiunto ad altri passaggi della pipeline per fornire valori comuni a più passaggi della pipeline. Le pipeline possono avere più pipelineParameters specificate.
Per inviare questa pipeline e specificare il valore per l'uso di PipelineParameter "pipeline_arg":
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
Nota: se "pipeline_arg" non è stato specificato nel dizionario pipeline_parameters, il valore predefinito di PipelineParameter fornito al momento della costruzione della pipeline verrebbe usato (in questo caso il valore predefinito fornito era "default_val").
I parametri a più righe non possono essere usati come PipelineParameters.
PipelineParameters può essere usato anche con DataPath e DataPathComputeBinding per specificare gli input dei passaggi. Ciò consente l'esecuzione di una pipeline con dati di input variabili.
Un esempio di uso di DataPath con PipelineParameters è il seguente:
from azureml.core.datastore import Datastore
from azureml.data.datapath import DataPath, DataPathComputeBinding
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import PipelineParameter
datastore = Datastore(workspace=workspace, name="workspaceblobstore")
datapath = DataPath(datastore=datastore, path_on_datastore='input_data')
data_path_pipeline_param = (PipelineParameter(name="input_data", default_value=datapath),
DataPathComputeBinding(mode='mount'))
train_step = PythonScriptStep(script_name="train.py",
arguments=["--input", data_path_pipeline_param],
inputs=[data_path_pipeline_param],
compute_target=compute_target,
source_directory=project_folder)
In questo caso, il valore predefinito del parametro "input_data" fa riferimento a un file nel "workspaceblobstore" denominato "input_data". Se la pipeline viene inviata senza specificare un valore per questo oggetto PipelineParameter, verrà usato il valore predefinito. Per inviare questa pipeline e specificare il valore per l'uso di PipelineParameter "input_data":
from azureml.pipeline.core import Pipeline
from azureml.data.datapath import DataPath
pipeline = Pipeline(workspace=ws, steps=[train_step])
new_data_path = DataPath(datastore=datastore, path_on_datastore='new_input_data')
pipeline_run = experiment.submit(pipeline,
pipeline_parameters={"input_data": new_data_path})