InputPortBinding Klas
Hiermee definieert u een binding van een bron naar een invoer van een pijplijnstap.
Een InputPortBinding kan worden gebruikt als invoer voor een stap. De bron kan een PipelineData, PortDataReference, DataReference, PipelineDatasetof OutputPortBindingzijn.
InputPortBinding is handig om de naam van de stapinvoer op te geven, als deze anders moet zijn dan de naam van het bindingsobject (bijvoorbeeld om dubbele invoer-/uitvoernamen te voorkomen of omdat het stapscript een invoer nodig heeft om een bepaalde naam te hebben). Het kan ook worden gebruikt om de bind_mode voor PythonScriptStep invoer op te geven.
Initialiseer InputPortBinding.
- Overname
-
builtins.objectInputPortBinding
Constructor
InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)
Parameters
Name | Description |
---|---|
name
Vereist
|
Naam van de invoerpoort die moet worden gekoppeld, die alleen letters, cijfers en onderstrepingstekens mag bevatten. |
bind_object
|
Het object dat moet worden gekoppeld aan de invoerpoort. Default value: None
|
bind_mode
|
Hiermee geeft u op of de verbruiksstap de methode 'downloaden' of 'koppelen' gebruikt om toegang te krijgen tot de gegevens. Default value: mount
|
path_on_compute
|
Voor de 'download'-modus leest het lokale pad de gegevens van waaruit de stap wordt gelezen. Default value: None
|
overwrite
|
Geef voor de 'downloadmodus' aan of bestaande gegevens moeten worden overschreven. Default value: None
|
is_resource
|
Aangegeven of invoer een resource is. Resources worden gedownload naar de scriptmap en bieden een manier om het gedrag van het script tijdens runtime te wijzigen. Default value: False
|
additional_transformations
|
<xref:azureml.dataprep.Dataflow>
Aanvullende transformaties die moeten worden toegepast op de invoer. Dit wordt alleen toegepast als de uitvoer van de vorige stap een Azure Machine Learning-gegevensset is. Default value: None
|
name
Vereist
|
Naam van de invoerpoort die moet worden gekoppeld, die alleen letters, cijfers en onderstrepingstekens mag bevatten. |
bind_object
Vereist
|
Het object dat moet worden gekoppeld aan de invoerpoort. |
bind_mode
Vereist
|
Hiermee geeft u op of de verbruiksstap de methode 'downloaden' of 'koppelen' of 'direct' gebruikt om toegang te krijgen tot de gegevens. |
path_on_compute
Vereist
|
Voor de 'download'-modus leest het lokale pad de gegevens van waaruit de stap wordt gelezen. |
overwrite
Vereist
|
Geef voor de 'downloadmodus' aan of bestaande gegevens moeten worden overschreven. |
is_resource
Vereist
|
Geef aan of invoer een resource is. Resources worden gedownload naar de scriptmap en bieden een manier om het gedrag van het script tijdens runtime te wijzigen. |
additional_transformations
Vereist
|
<xref:azureml.dataprep.Dataflow>
Aanvullende transformaties die moeten worden toegepast op de invoer. Dit wordt alleen toegepast als de uitvoer van de vorige stap een Azure Machine Learning-gegevensset is. |
Opmerkingen
InputPortBinding wordt gebruikt om gegevensafhankelijkheden in een pijplijn op te geven. Het vertegenwoordigt een invoer die een stap nodig heeft voor de uitvoering. InputPortBindings hebben een bron, bind_object genaamd, die aangeeft hoe de invoergegevens worden geproduceerd.
PipelineData en OutputPortBinding kunnen worden gebruikt als de bind_object voor een InputPortBinding om op te geven dat de invoer voor de stap wordt geproduceerd door een andere stap in de pijplijn.
Een voorbeeld voor het bouwen van een pijplijn met behulp van InputPortBinding en PipelineData is als volgt:
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])
In dit voorbeeld vereist de stap 'trainen' de uitvoer van de stap 'gegevens voorbereiden' als invoer.
PortDataReference, DataReferenceof PipelineDataset kan worden gebruikt als de bind_object voor een InputPortBinding om op te geven dat de invoer voor de stap al op een opgegeven locatie bestaat.
Een voorbeeld van het bouwen van een pijplijn met behulp van InputPortBinding en DataReference is als volgt:
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])
In dit voorbeeld is voor de stap 'trainen' het 'sample_data.txt'-bestand vereist dat is opgegeven door de DataReference als invoer.
Methoden
as_resource |
Haal een dubbele invoerpoortbinding op die als resource kan worden gebruikt. |
get_bind_object_data_type |
Haal het gegevenstype van het bindingsobject op. |
get_bind_object_name |
Haal de naam van het bindingsobject op. |
as_resource
Haal een dubbele invoerpoortbinding op die als resource kan worden gebruikt.
as_resource()
Retouren
Type | Description |
---|---|
InputPortBinding met is_resource eigenschap ingesteld op True. |
get_bind_object_data_type
Haal het gegevenstype van het bindingsobject op.
get_bind_object_data_type()
Retouren
Type | Description |
---|---|
De naam van het gegevenstype. |
get_bind_object_name
Haal de naam van het bindingsobject op.
get_bind_object_name()
Retouren
Type | Description |
---|---|
De naam van het bindingsobject. |
Kenmerken
additional_transformations
Haal de extra transformaties op die moeten worden toegepast op de invoergegevens.
Retouren
Type | Description |
---|---|
<xref:azureml.dataprep.Dataflow>
|
De extra transformaties die moeten worden toegepast op de invoergegevens. |
bind_mode
Haal de modus ('downloaden' of 'koppelen' of 'direct', 'hdfs') op die de verbruiksstap gebruikt om toegang te krijgen tot de gegevens.
Retouren
Type | Description |
---|---|
De bindingsmodus ('downloaden' of 'koppelen' of 'direct' of 'hdfs'). |
bind_object
Haal het object op waaraan de InputPort wordt gekoppeld.
Retouren
Type | Description |
---|---|
Het bindingsobject. |
data_reference_name
Haal de naam op van de gegevensverwijzing die is gekoppeld aan de InputPortBinding.
Retouren
Type | Description |
---|---|
De naam van de gegevensreferentie. |
data_type
is_resource
name
overwrite
Geef voor de 'downloadmodus' aan of bestaande gegevens moeten worden overschreven.
Retouren
Type | Description |
---|---|
De eigenschap overschrijven. |
path_on_compute
Haal het lokale pad op waaruit de stap de gegevens leest.
Retouren
Type | Description |
---|---|
Het pad op rekenkracht. |