InputPortBinding Klasse
Definiert eine Bindung von einer Quelle mit einer Eingabe eines Pipelineschritts.
Eine InputPortBinding kann als Eingabe für einen Schritt verwendet werden. Die Quelle kann PipelineData, PortDataReference, DataReference, PipelineDataset oder OutputPortBinding sein.
InputPortBinding ist nützlich, um den Namen der Schritteingabe anzugeben, wenn er sich vom Namen des Bindungsobjekts unterscheiden sollte (d. h. um doppelte Ein-/Ausgabenamen zu vermeiden oder weil das Schrittskript eine Eingabe benötigt, um einen bestimmten Namen zu erhalten). Hiermit kann auch der Bindungsmodus (bind_mode) für PythonScriptStep-Eingaben angegeben werden.
Initialisieren Sie InputPortBinding.
- Vererbung
-
builtins.objectInputPortBinding
Konstruktor
InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name des zu bindenden Eingabeports, der nur Buchstaben, Ziffern und Unterstriche enthalten darf. |
bind_object
|
Das Objekt, das an den Eingabeport gebunden werden soll. Standardwert: None
|
bind_mode
|
Gibt an, ob der Verarbeitungsschritt die Methode „download“ (Herunterladen) oder „mount“ (Einbinden) verwendet, um auf die Daten zuzugreifen. Standardwert: mount
|
path_on_compute
|
Für den Modus „download“ ist dies der lokale Pfad, aus dem die Daten während des Schritts gelesen werden. Standardwert: None
|
overwrite
|
Gibt für den Modus „download“ an, ob vorhandene Daten überschrieben werden sollen. Standardwert: None
|
is_resource
|
Gibt an, ob die Eingabe eine Ressource ist. Ressourcen werden in den Skriptordner heruntergeladen und bieten eine Möglichkeit, das Verhalten des Skripts zur Laufzeit zu ändern. Standardwert: False
|
additional_transformations
|
<xref:azureml.dataprep.Dataflow>
Zusätzliche Transformationen, die auf die Eingabe angewendet werden sollen. Wird nur angewendet, wenn die Ausgabe des vorherigen Schritts ein Azure Machine Learning-Dataset ist. Standardwert: None
|
name
Erforderlich
|
Der Name des zu bindenden Eingabeports, der nur Buchstaben, Ziffern und Unterstriche enthalten darf. |
bind_object
Erforderlich
|
Das Objekt, das an den Eingabeport gebunden werden soll. |
bind_mode
Erforderlich
|
Gibt an, ob der verwendende Schritt die Methode "download", "mount" oder "direct" für den Zugriff auf die Daten verwendet. |
path_on_compute
Erforderlich
|
Für den Modus „download“ ist dies der lokale Pfad, aus dem die Daten während des Schritts gelesen werden. |
overwrite
Erforderlich
|
Gibt für den Modus „download“ an, ob vorhandene Daten überschrieben werden sollen. |
is_resource
Erforderlich
|
Angeben, ob die Eingabe eine Ressource ist. Ressourcen werden in den Skriptordner heruntergeladen und bieten eine Möglichkeit, das Verhalten des Skripts zur Laufzeit zu ändern. |
additional_transformations
Erforderlich
|
<xref:azureml.dataprep.Dataflow>
Zusätzliche Transformationen, die auf die Eingabe angewendet werden sollen. Wird nur angewendet, wenn die Ausgabe des vorherigen Schritts ein Azure Machine Learning-Dataset ist. |
Hinweise
InputPortBinding wird verwendet, um Datenabhängigkeiten in einer Pipeline anzugeben, und stellt eine Eingabe dar, die ein Schritt für die Ausführung benötigt. InputPortBindings verfügen über eine Quelle mit dem Namen „bind_object“, die angibt, wie die Eingabedaten erzeugt werden.
PipelineData und OutputPortBinding können als bind_object für InputPortBinding verwendet werden, um anzugeben, dass die Eingabe für den Schritt von einem anderen Schritt in der Pipeline erzeugt wird.
Ein Beispiel zum Erstellen einer Pipeline mit InputPortBinding und PipelineData lautet wie folgt:
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 diesem Beispiel erfordert der Schritt „train“ die Ausgabe des Schritts „prepare data“ als Eingabe.
PortDataReference, DataReference oder PipelineDataset können als bind_object für InputPortBinding verwendet werden, um anzugeben, dass die Eingabe für den Schritt bereits an einem angegebenen Speicherort vorhanden ist.
Ein Beispiel zum Erstellen einer Pipeline mit InputPortBinding und DataReference lautet wie folgt:
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 diesem Beispiel erfordert der Schritt „train“ die von DataReference angegebene Datei „sample_data.txt“ als Eingabe.
Methoden
as_resource |
Ruft eine doppelte Eingabeportbindung ab, die als Ressource verwendet werden kann. |
get_bind_object_data_type |
Ruft den Datentyp des Bindungsobjekts ab. |
get_bind_object_name |
Ruft den Namen des Bindungsobjekts ab. |
as_resource
Ruft eine doppelte Eingabeportbindung ab, die als Ressource verwendet werden kann.
as_resource()
Gibt zurück
Typ | Beschreibung |
---|---|
InputPortBinding mit der auf „True“ festgelegten Eigenschaft „is_resource“. |
get_bind_object_data_type
Ruft den Datentyp des Bindungsobjekts ab.
get_bind_object_data_type()
Gibt zurück
Typ | Beschreibung |
---|---|
Der Name des Datentyps. |
get_bind_object_name
Ruft den Namen des Bindungsobjekts ab.
get_bind_object_name()
Gibt zurück
Typ | Beschreibung |
---|---|
Der Name des Bindungsobjekts. |
Attribute
additional_transformations
Ruft die zusätzlichen Transformationen ab, die auf die Eingabedaten angewendet werden sollen.
Gibt zurück
Typ | Beschreibung |
---|---|
<xref:azureml.dataprep.Dataflow>
|
Die zusätzlichen Transformationen, die auf die Eingabedaten angewendet werden sollen. |
bind_mode
Ruft den Modus („download“ oder „mount“ oder „direct“ oder „hdfs“) ab, den der Verarbeitungsschritt für den Zugriff auf die Daten verwendet.
Gibt zurück
Typ | Beschreibung |
---|---|
Der Bindungsmodus („download“ oder „mount“ oder „direct“ oder „hdfs“). |
bind_object
Ruft das Objekt ab, an das InputPort gebunden wird.
Gibt zurück
Typ | Beschreibung |
---|---|
Das Bindungsobjekt. |
data_reference_name
Ruft den Namen des Datenverweises ab, der InputPortBinding zugeordnet ist.
Gibt zurück
Typ | Beschreibung |
---|---|
Der Datenverweisname. |
data_type
is_resource
Ruft ab, ob die Eingabe eine Ressource ist.
Gibt zurück
Typ | Beschreibung |
---|---|
Ob die Eingabe eine Ressource ist. |
name
overwrite
Gibt für den Modus „download“ an, ob vorhandene Daten überschrieben werden sollen.
Gibt zurück
Typ | Beschreibung |
---|---|
Die Eigenschaft „Überschreiben“. |
path_on_compute
Ruft den lokalen Pfad ab, aus dem die Daten während des Schritts gelesen werden.
Gibt zurück
Typ | Beschreibung |
---|---|
Der Pfad auf der Computeressource. |