Share via


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.object
InputPortBinding

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
str

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
str

Gibt an, ob der Verarbeitungsschritt die Methode „download“ (Herunterladen) oder „mount“ (Einbinden) verwendet, um auf die Daten zuzugreifen.

Standardwert: mount
path_on_compute
str

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
str

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
str

Gibt an, ob der verwendende Schritt die Methode "download", "mount" oder "direct" für den Zugriff auf die Daten verwendet.

path_on_compute
Erforderlich
str

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
str

Der Name des Datentyps.

get_bind_object_name

Ruft den Namen des Bindungsobjekts ab.

get_bind_object_name()

Gibt zurück

Typ Beschreibung
str

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
str

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
str

Der Datenverweisname.

data_type

Ruft den Typ der Eingabedaten ab.

Gibt zurück

Typ Beschreibung
str

Die Eigenschaft „Datentyp“.

is_resource

Ruft ab, ob die Eingabe eine Ressource ist.

Gibt zurück

Typ Beschreibung

Ob die Eingabe eine Ressource ist.

name

Der Name der Eingabeportbindung.

Gibt zurück

Typ Beschreibung
str

Der 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
str

Der Pfad auf der Computeressource.