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.objectInputPortBinding
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
|
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
|
Especifica si el paso de consumo usará el método "download" o "mount" para acceder a los datos. Valor predeterminado: mount
|
path_on_compute
|
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
|
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
|
Especifica si el paso de consumo usará el método "download" o "mount" o "direct" para acceder a los datos. |
path_on_compute
Requerido
|
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 |
---|---|
El nombre del tipo de datos. |
get_bind_object_name
Obtiene el nombre del objeto de enlace.
get_bind_object_name()
Devoluciones
Tipo | Description |
---|---|
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 |
---|---|
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 |
---|---|
Nombre de referencia de datos. |
data_type
Obtiene el tipo de los datos de entrada.
Devoluciones
Tipo | Description |
---|---|
Propiedad de tipo de datos. |
is_resource
name
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 |
---|---|
Ruta de acceso en el proceso. |