InputPortBinding Classe
Définit une liaison d’une source à une entrée d’une étape de pipeline.
Une InputPortBinding peut être utilisée comme entrée d’une étape. La source peut être PipelineData, PortDataReference, DataReference, PipelineDataset ou OutputPortBinding.
InputPortBinding s’avère utile pour spécifier le nom de l’entrée d’étape, si elle doit être différente du nom de l’objet de liaison (autrement dit, pour éviter des noms d’entrée/de sortie en double ou parce que le script d’étape a besoin d’une entrée portant un nom donné). Elle peut également être utilisée pour spécifier le bind_mode pour les entrées PythonScriptStep.
Initialisez InputPortBinding.
- Héritage
-
builtins.objectInputPortBinding
Constructeur
InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom du port d’entrée à lier, qui peut contenir uniquement des lettres, des chiffres et des traits de soulignement. |
bind_object
|
Objet à lier au port d’entrée. Valeur par défaut: None
|
bind_mode
|
Spécifie si l’étape de consommation doit utiliser la méthode « download » ou « mount » pour accéder aux données. Valeur par défaut: mount
|
path_on_compute
|
Pour le mode « download », obtient le chemin d’accès local à partir duquel l’étape va lire les données. Valeur par défaut: None
|
overwrite
|
Pour le mode « download », indique si les données existantes doivent être remplacées. Valeur par défaut: None
|
is_resource
|
Indique si l’entrée est une ressource. Les ressources sont téléchargées dans le dossier de script et offrent un moyen de modifier le comportement du script au moment de l’exécution. Valeur par défaut: False
|
additional_transformations
|
<xref:azureml.dataprep.Dataflow>
Transformations supplémentaires à appliquer à l’entrée. S’applique uniquement si la sortie de l’étape précédente est un jeu de données Azure Machine Learning. Valeur par défaut: None
|
name
Obligatoire
|
Nom du port d’entrée à lier, qui peut contenir uniquement des lettres, des chiffres et des traits de soulignement. |
bind_object
Obligatoire
|
Objet à lier au port d’entrée. |
bind_mode
Obligatoire
|
Spécifie si l’étape de consommation utilise la méthode « téléchargement », « montage » ou « direct » pour accéder aux données. |
path_on_compute
Obligatoire
|
Pour le mode « download », obtient le chemin d’accès local à partir duquel l’étape va lire les données. |
overwrite
Obligatoire
|
Pour le mode « download », indique si les données existantes doivent être remplacées. |
is_resource
Obligatoire
|
Indique si l’entrée est une ressource. Les ressources sont téléchargées dans le dossier de script et offrent un moyen de modifier le comportement du script au moment de l’exécution. |
additional_transformations
Obligatoire
|
<xref:azureml.dataprep.Dataflow>
Transformations supplémentaires à appliquer à l’entrée. S’applique uniquement si la sortie de l’étape précédente est un jeu de données Azure Machine Learning. |
Remarques
InputPortBinding est utilisé pour spécifier les dépendances de données dans un pipeline. Il représente une entrée requise par une étape pour s’exécuter. InputPortBindings a une source (appelée bind_object) qui spécifie la façon dont les données d’entrée sont produites.
PipelineData et OutputPortBinding peuvent être utilisés comme bind_object pour qu’un InputPortBinding spécifie que l’entrée de l’étape est générée par une autre étape dans le pipeline.
Voici un exemple de création d’un pipeline à l’aide de InputPortBinding et PipelineData :
from azureml.pipeline.core import PipelineData, InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
step_1_output = PipelineData("output", datastore=datastore, output_mode="mount")
step_1 = PythonScriptStep(
name='prepare data',
script_name="prepare_data.py",
compute_target=compute,
arguments=["--output", step_1_output],
outputs=[step_1_output]
)
step_2_input = InputPortBinding("input", bind_object=step_1_output)
step_2 = PythonScriptStep(
name='train',
script_name="train.py",
compute_target=compute,
arguments=["--input", step_2_input],
inputs=[step_2_input]
)
pipeline = Pipeline(workspace=workspace, steps=[step_1, step_2])
Dans cet exemple, l’étape de formation requiert la sortie de l’étape de préparation des données comme entrée.
PortDataReference, DataReference ou PipelineDataset peut être utilisé comme bind_object pour qu’un InputPortBinding spécifie que l’entrée de l’étape existe déjà à un emplacement spécifié.
Voici un exemple de création d’un pipeline à l’aide de InputPortBinding et DataReference :
from azureml.data.data_reference import DataReference
from azureml.pipeline.core import InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
data_reference = DataReference(datastore=datastore, path_on_datastore='sample_data.txt', mode="mount")
step_1_input = InputPortBinding("input", bind_object=data_reference)
step_1 = PythonScriptStep(
name='train',
script_name="train.py",
compute_target=compute,
arguments=["--input", step_1_input],
inputs=[step_1_input]
)
pipeline = Pipeline(workspace=workspace, steps=[step_1])
Dans cet exemple, l’étape de formation requiert le fichier « sample_data.txt » spécifié par DataReference comme entrée.
Méthodes
as_resource |
Obtient une liaison de port d’entrée dupliquée qui peut être utilisée en tant que ressource. |
get_bind_object_data_type |
Obtient le type de données de l’objet de liaison. |
get_bind_object_name |
Obtient le nom de l’objet de liaison. |
as_resource
Obtient une liaison de port d’entrée dupliquée qui peut être utilisée en tant que ressource.
as_resource()
Retours
Type | Description |
---|---|
InputPortBinding avec la propriété is_resource définie sur True. |
get_bind_object_data_type
Obtient le type de données de l’objet de liaison.
get_bind_object_data_type()
Retours
Type | Description |
---|---|
Nom du type de données. |
get_bind_object_name
Obtient le nom de l’objet de liaison.
get_bind_object_name()
Retours
Type | Description |
---|---|
Nom de l’objet de liaison. |
Attributs
additional_transformations
Obtient les transformations supplémentaires à appliquer aux données d’entrée.
Retours
Type | Description |
---|---|
<xref:azureml.dataprep.Dataflow>
|
Transformations supplémentaires à appliquer aux données d’entrée. |
bind_mode
Obtient le mode (« download », « mount » ou « direct » ou « hdfs ») que l’étape de consommation utilise pour accéder aux données.
Retours
Type | Description |
---|---|
Mode de liaison (« download », « mount » ou « direct » ou « hdfs »). |
bind_object
Obtient l’objet auquel le InputPort sera lié.
Retours
Type | Description |
---|---|
Objet de liaison. |
data_reference_name
Obtient le nom de la référence de données associée à la InputPortBinding.
Retours
Type | Description |
---|---|
Nom de référence des données. |
data_type
is_resource
Indique si l’entrée est une ressource.
Retours
Type | Description |
---|---|
L’entrée est-elle une ressource. |
name
overwrite
Pour le mode « download », indique si les données existantes doivent être remplacées.
Retours
Type | Description |
---|---|
Propriété de remplacement. |
path_on_compute
Obtient le chemin d’accès local à partir duquel l’étape va lire les données.
Retours
Type | Description |
---|---|
Chemin d’accès au calcul. |