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

name
str
Obligatoire

Nom du port d’entrée à lier, qui peut contenir uniquement des lettres, des chiffres et des traits de soulignement.

bind_object
Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
valeur par défaut: None

Objet à lier au port d’entrée.

bind_mode
str
valeur par défaut: mount

Spécifie si l’étape de consommation doit utiliser la méthode « download » ou « mount » pour accéder aux données.

path_on_compute
str
valeur par défaut: None

Pour le mode « download », obtient le chemin d’accès local à partir duquel l’étape va lire les données.

overwrite
bool
valeur par défaut: None

Pour le mode « download », indique si les données existantes doivent être remplacées.

is_resource
bool
valeur par défaut: False

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
<xref:azureml.dataprep.Dataflow>
valeur par défaut: None

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.

name
str
Obligatoire

Nom du port d’entrée à lier, qui peut contenir uniquement des lettres, des chiffres et des traits de soulignement.

bind_object
Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
Obligatoire

Objet à lier au port d’entrée.

bind_mode
str
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
str
Obligatoire

Pour le mode « download », obtient le chemin d’accès local à partir duquel l’étape va lire les données.

overwrite
bool
Obligatoire

Pour le mode « download », indique si les données existantes doivent être remplacées.

is_resource
bool
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
<xref:azureml.dataprep.Dataflow>
Obligatoire

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

InputPortBinding avec la propriété is_resource définie sur True.

Type de retour

get_bind_object_data_type

Obtient le type de données de l’objet de liaison.

get_bind_object_data_type()

Retours

Nom du type de données.

Type de retour

str

get_bind_object_name

Obtient le nom de l’objet de liaison.

get_bind_object_name()

Retours

Nom de l’objet de liaison.

Type de retour

str

Attributs

additional_transformations

Obtient les transformations supplémentaires à appliquer aux données d’entrée.

Retours

Transformations supplémentaires à appliquer aux données d’entrée.

Type de retour

<xref:azureml.dataprep.Dataflow>

bind_mode

Obtient le mode (« download », « mount » ou « direct » ou « hdfs ») que l’étape de consommation utilise pour accéder aux données.

Retours

Mode de liaison (« download », « mount » ou « direct » ou « hdfs »).

Type de retour

str

bind_object

Obtient l’objet auquel le InputPort sera lié.

Retours

Objet de liaison.

Type de retour

Union[<xref:azureml.pipeline.core.PortDataReference,azureml.data.data_reference.DataReference,azureml.pipeline.core.PipelineData,azureml.pipeline.core.OutputPortBinding,azureml.pipeline.core.PipelineDataset>]

data_reference_name

Obtient le nom de la référence de données associée à la InputPortBinding.

Retours

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

Type de retour

str

data_type

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

Retours

Propriété de type de données.

Type de retour

str

is_resource

Indique si l’entrée est une ressource.

Retours

L’entrée est-elle une ressource.

Type de retour

name

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

Retours

Nom.

Type de retour

str

overwrite

Pour le mode « download », indique si les données existantes doivent être remplacées.

Retours

Propriété de remplacement.

Type de retour

path_on_compute

Obtient le chemin d’accès local à partir duquel l’étape va lire les données.

Retours

Chemin d’accès au calcul.

Type de retour

str