Compartir a través de


InputPortBinding Clase

Define un enlace desde un origen a una entrada de un paso de la canalización.

InputPortBinding se puede usar como entrada para un paso. El origen puede ser PipelineData, PortDataReference, DataReference, PipelineDataset o OutputPortBinding.

InputPortBinding es útil para especificar el nombre de la entrada del paso, si debe ser diferente del nombre del objeto de enlace (es decir, para evitar nombres de entrada y salida duplicados o porque el script del paso necesita una entrada para tener un nombre determinado). También se puede usar para especificar el valor de bind_mode para las entradas PythonScriptStep.

Inicialice InputPortBinding.

Herencia
builtins.object
InputPortBinding

Constructor

InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)

Parámetros

Nombre Description
name
Requerido
str

Nombre del puerto de entrada que se va a enlazar, que solo puede contener letras, dígitos y caracteres de subrayado.

bind_object

Objeto que se enlazará al puerto de entrada.

valor predeterminado: None
bind_mode
str

Especifica si el paso de consumo usará el método "download" o "mount" para acceder a los datos.

valor predeterminado: mount
path_on_compute
str

Para el modo "download", la ruta de acceso local en la que el paso leerá los datos.

valor predeterminado: None
overwrite

Para el modo "download", indique si quiere sobrescribir los datos existentes.

valor predeterminado: None
is_resource

Se indica si la entrada es un recurso. Los recursos se descargan en la carpeta de scripts y proporcionan una manera de cambiar el comportamiento del script en tiempo de ejecución.

valor predeterminado: False
additional_transformations
<xref:azureml.dataprep.Dataflow>

Transformaciones adicionales que se aplicarán a la entrada. Esto solo se aplicará si la salida del paso anterior es un conjunto de datos de Azure Machine Learning.

valor predeterminado: None
name
Requerido
str

Nombre del puerto de entrada que se va a enlazar, que solo puede contener letras, dígitos y caracteres de subrayado.

bind_object
Requerido

Objeto que se enlazará al puerto de entrada.

bind_mode
Requerido
str

Especifica si el paso de consumo usará el método "download" o "mount" o "direct" para acceder a los datos.

path_on_compute
Requerido
str

Para el modo "download", la ruta de acceso local en la que el paso leerá los datos.

overwrite
Requerido

Para el modo "download", indique si quiere sobrescribir los datos existentes.

is_resource
Requerido

Se indica si la entrada es un recurso. Los recursos se descargan en la carpeta de scripts y proporcionan una manera de cambiar el comportamiento del script en tiempo de ejecución.

additional_transformations
Requerido
<xref:azureml.dataprep.Dataflow>

Transformaciones adicionales que se aplicarán a la entrada. Esto solo se aplicará si la salida del paso anterior es un conjunto de datos de Azure Machine Learning.

Comentarios

InputPortBinding se usa para especificar dependencias de datos en una canalización, representa una entrada que un paso requiere para la ejecución. InputPortBindings tiene un origen, denominado bind_object, que especifica cómo se generan los datos de entrada.

PipelineData y OutputPortBinding se pueden usar como bind_object para que un elemento InputPortBinding especifique que la entrada para el paso se producirá mediante otro paso de la canalización.

Un ejemplo para crear una canalización mediante InputPortBinding y PipelineData es el siguiente:


   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])

En este ejemplo, el paso "train" requiere la salida del paso "prepare data" como entrada.

PortDataReference, DataReference o PipelineDataset se pueden usar como bind_object para que un elemento InputPortBinding especifique que la entrada para el paso ya existe en una ubicación especificada.

Un ejemplo para crear una canalización mediante InputPortBinding y DataReference es el siguiente:


   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])

En este ejemplo, el paso "train" requiere el archivo "sample_data.txt" especificado por DataReference como entrada.

Métodos

as_resource

Obtiene un enlace de puerto de entrada duplicado que se puede usar como recurso.

get_bind_object_data_type

Obtiene el tipo de datos del objeto de enlace.

get_bind_object_name

Obtiene el nombre del objeto de enlace.

as_resource

Obtiene un enlace de puerto de entrada duplicado que se puede usar como recurso.

as_resource()

Devoluciones

Tipo Description

Propiedad InputPortBinding con is_resource establecida en True.

get_bind_object_data_type

Obtiene el tipo de datos del objeto de enlace.

get_bind_object_data_type()

Devoluciones

Tipo Description
str

El nombre del tipo de datos.

get_bind_object_name

Obtiene el nombre del objeto de enlace.

get_bind_object_name()

Devoluciones

Tipo Description
str

Nombre del objeto de enlace.

Atributos

additional_transformations

Obtiene las transformaciones adicionales que se aplicarán a los datos de entrada.

Devoluciones

Tipo Description
<xref:azureml.dataprep.Dataflow>

Transformaciones adicionales que se aplicarán a los datos de entrada.

bind_mode

Obtiene el modo ("download", "mount", "direct" o "hdfs") que usará el paso de consumo para acceder a los datos.

Devoluciones

Tipo Description
str

El modo de enlace ("download", "mount", "direct" o "hdfs").

bind_object

Obtiene el objeto al que se enlazará InputPort.

Devoluciones

Tipo Description

Objeto de enlace.

data_reference_name

Obtiene el nombre de la referencia de datos asociada a InputPortBinding.

Devoluciones

Tipo Description
str

Nombre de referencia de datos.

data_type

Obtiene el tipo de los datos de entrada.

Devoluciones

Tipo Description
str

Propiedad de tipo de datos.

is_resource

Obtiene si la entrada es un recurso.

Devoluciones

Tipo Description

Un recurso es entrada.

name

Nombre del enlace de puerto de entrada.

Devoluciones

Tipo Description
str

Nombre.

overwrite

Para el modo "download", indique si quiere sobrescribir los datos existentes.

Devoluciones

Tipo Description

Propiedad de sobrescribir.

path_on_compute

Obtiene la ruta de acceso local en la que el paso leerá los datos.

Devoluciones

Tipo Description
str

Ruta de acceso en el proceso.