PipelineParameter Classe
Définit un paramètre dans une exécution du pipeline.
Utilisez les paramètres de pipeline pour créer des pipelines polyvalents qui peuvent par la suite être soumis de nouveau avec des valeurs de paramètre variables.
Initialiser les paramètres de pipeline.
- Héritage
-
builtins.objectPipelineParameter
Constructeur
PipelineParameter(name, default_value)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom du paramètre de pipeline. |
default_value
Obligatoire
|
Valeur par défaut du paramètre de pipeline. |
name
Obligatoire
|
Nom du paramètre de pipeline. |
default_value
Obligatoire
|
Valeur par défaut du paramètre de pipeline. |
Remarques
Des PipelineParameters peuvent être ajoutés à une étape lors de la construction d’un pipeline. Lorsque le pipeline est soumis, les valeurs de ces paramètres peuvent être spécifiées.
Voici un exemple d’ajout d’un PipelineParameter à une étape :
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)
Dans cet exemple, un PipelineParameter portant le nom « pipeline_arg » a été ajouté aux arguments d’un PythonScriptStep. Lorsque le script Python est exécuté, la valeur du PipelineParameter est fournie par le biais des arguments de ligne de commande. Ce PipelineParameter peut également être ajouté à d’autres étapes dans le pipeline pour fournir des valeurs communes à plusieurs étapes dans le pipeline. Plusieurs PipelineParameters peuvent être spécifiés pour des pipelines.
Pour envoyer ce pipeline et spécifier la valeur de PipelineParameter « pipeline_arg », utilisez :
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
Remarque : Si « pipeline_arg » n’a pas été spécifié dans le dictionnaire pipeline_parameters, la valeur par défaut du PipelineParameter fourni lors de la construction du pipeline est utilisée (dans cet exemple, la valeur par défaut fournie était « default_val »).
Les paramètres multilignes ne peuvent pas être utilisés en tant que PipelineParameters.
Des PipelineParameters peuvent également être utilisés avec DataPath et DataPathComputeBinding pour spécifier des entrées d’étape. Cela permet à un pipeline d’être exécuté avec des données d’entrée variables.
Voici un exemple d’utilisation de DataPath avec PipelineParameters :
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)
Dans ce cas, la valeur par défaut du paramètre « input_data » fait référence à un fichier situé sur le « workspaceblobstore » nommé « input_data ». Si le pipeline est soumis sans spécifier de valeur pour ce PipelineParameter, la valeur par défaut est utilisée. Pour envoyer ce pipeline et spécifier la valeur du PipelineParameter « input_data », utilisez :
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})