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.object
InputPortBinding

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
str

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
str

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
str

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
str

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
str

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
str

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
str

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
str

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
str

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
str

Nom de référence des données.

data_type

Obtient le type des données d’entrée.

Retours

Type Description
str

Propriété de type de données.

is_resource

Indique si l’entrée est une ressource.

Retours

Type Description

L’entrée est-elle une ressource.

name

Nom de la liaison de port d’entrée.

Retours

Type Description
str

Nom.

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
str

Chemin d’accès au calcul.