InputPortBinding Класс

Определяет привязку от источника к входным данным этапа конвейера.

InputPortBinding можно использовать в качестве входных данных для этапа. Источником может быть PipelineData, PortDataReference, DataReference, PipelineDataset или OutputPortBinding.

Класс InputPortBinding позволяет указать имя входных данных этапа, если оно должно отличаться от имени объекта привязки (во избежание дублирования имен входных и выходных данных или если скрипту этапа нужно, чтобы входные данные имели определенное имя). Его также можно использовать для указания bind_mode для входных данных PythonScriptStep.

Инициализируйте InputPortBinding.

Наследование
builtins.object
InputPortBinding

Конструктор

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

Параметры

name
str
Обязательно

Имя порта ввода для привязки, который может содержать только буквы, цифры и символы подчеркивания.

bind_object
Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
значение по умолчанию: None

Объект, который необходимо привязать к порту ввода.

bind_mode
str
значение по умолчанию: mount

Указывает, будет ли на этапе использования применяться метод "download" (отправка) или "mount" (подключение) для доступа к данным.

path_on_compute
str
значение по умолчанию: None

Для режима "download" (отправка) — локальный путь, по которому будут считываться данные на этапе.

overwrite
bool
значение по умолчанию: None

Для режима "download" (отправка) указывает, следует ли перезаписывать существующие данные.

is_resource
bool
значение по умолчанию: False

Указано, являются ли входные данные ресурсом. Ресурсы загружаются в папку сценариев и позволяют изменять поведение сценария во время выполнения.

additional_transformations
<xref:azureml.dataprep.Dataflow>
значение по умолчанию: None

Дополнительные преобразования, применяемые к входным данным. Применяется только в том случае, если выходные данные предыдущего этапа являются набором данных Машинного обучения Azure.

name
str
Обязательно

Имя порта ввода для привязки, который может содержать только буквы, цифры и символы подчеркивания.

bind_object
Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
Обязательно

Объект, который необходимо привязать к порту ввода.

bind_mode
str
Обязательно

Указывает, будет ли используемый шаг использовать метод "download", "mount" или "direct" для доступа к данным.

path_on_compute
str
Обязательно

Для режима "download" (отправка) — локальный путь, по которому будут считываться данные на этапе.

overwrite
bool
Обязательно

Для режима "download" (отправка) указывает, следует ли перезаписывать существующие данные.

is_resource
bool
Обязательно

Указано, являются ли входные данные ресурсом. Ресурсы загружаются в папку сценариев и позволяют изменять поведение сценария во время выполнения.

additional_transformations
<xref:azureml.dataprep.Dataflow>
Обязательно

Дополнительные преобразования, применяемые к входным данным. Применяется только в том случае, если выходные данные предыдущего этапа являются набором данных Машинного обучения Azure.

Комментарии

InputPortBinding используется для указания зависимостей данных в конвейере, представляет собой вход, требуемый для выполнения этапа. InputPortBindings имеет источник, именуемый bind_object, в котором указывается, как создаются входные данные.

PipelineData и OutputPortBinding могут использоваться в качестве bind_object для InputPortBinding, чтобы указать, что входные данные для этапа будут созданы другим этапом в конвейере.

Ниже приведен пример создания конвейера с использованием InputPortBinding и PipelineData:


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

В этом примере этап "обучение" требуются выходные данные этапа "подготовить данные" в качестве входных данных.

PortDataReference, DataReference или PipelineDataset можно использовать в качестве bind_object для InputPortBinding, чтобы указать, что входные данные для этапа уже существуют в указанном расположении.

Ниже приведен пример создания конвейера с использованием InputPortBinding и DataReference:


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

В этом примере для этапа "обучение" требуется файл "sample_data.txt", указанный в DataReference в качестве входных данных.

Методы

as_resource

Получение дубликата привязки порта ввода для использования в качестве ресурса.

get_bind_object_data_type

Получение типа данных объекта привязки.

get_bind_object_name

Получение имени объекта привязки.

as_resource

Получение дубликата привязки порта ввода для использования в качестве ресурса.

as_resource()

Возвращаемое значение

Для InputPortBinding со свойством is_resource установлено значение true.

Возвращаемый тип

get_bind_object_data_type

Получение типа данных объекта привязки.

get_bind_object_data_type()

Возвращаемое значение

Имя типа данных.

Возвращаемый тип

str

get_bind_object_name

Получение имени объекта привязки.

get_bind_object_name()

Возвращаемое значение

Имя объекта привязки.

Возвращаемый тип

str

Атрибуты

additional_transformations

Получение дополнительных преобразований, применяемых к входным данным.

Возвращаемое значение

Дополнительные преобразования, применяемые к входным данным.

Возвращаемый тип

<xref:azureml.dataprep.Dataflow>

bind_mode

Получение режима ("download", "mount", "direct" или "hdfs"), который будет использоваться для доступа к данным.

Возвращаемое значение

Режим привязки ("download", "mount", "direct" или "hdfs").

Возвращаемый тип

str

bind_object

Получение объекта, к которому будет привязан InputPort.

Возвращаемое значение

Объект привязки.

Возвращаемый тип

Union[<xref:azureml.pipeline.core.PortDataReference,azureml.data.data_reference.DataReference,azureml.pipeline.core.PipelineData,azureml.pipeline.core.OutputPortBinding,azureml.pipeline.core.PipelineDataset>]

data_reference_name

Получение имени ссылки на данные, связанной с InputPortBinding.

Возвращаемое значение

Имя ссылки на данные.

Возвращаемый тип

str

data_type

Получение типа входных данных.

Возвращаемое значение

Свойство типа данных.

Возвращаемый тип

str

is_resource

Получить значение, указывающее, являются ли входные данные ресурсом.

Возвращаемое значение

Являются ли входные данные ресурсом.

Возвращаемый тип

name

Имя привязки порта ввода.

Возвращаемое значение

Имя.

Возвращаемый тип

str

overwrite

Для режима "download" (отправка) указывает, следует ли перезаписывать существующие данные.

Возвращаемое значение

Свойство перезаписи.

Возвращаемый тип

path_on_compute

Получение локального пути, по которому будут считываться данные на этапе.

Возвращаемое значение

Путь для вычисления.

Возвращаемый тип

str