Поделиться через


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

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

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

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

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

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

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

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

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

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

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

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

значение по умолчанию: None
name
Обязательно
str

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

bind_object
Обязательно

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

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

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

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

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

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

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

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

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

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"), который будет использоваться для доступа к данным.

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

Тип Описание
str

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

bind_object

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

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

Тип Описание

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

data_reference_name

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

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

Тип Описание
str

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

data_type

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

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

Тип Описание
str

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

is_resource

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

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

Тип Описание

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

name

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

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

Тип Описание
str

Имя.

overwrite

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

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

Тип Описание

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

path_on_compute

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

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

Тип Описание
str

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