InputPortBinding Класс
Определяет привязку от источника к входным данным этапа конвейера.
InputPortBinding можно использовать в качестве входных данных для этапа. Источником может быть PipelineData, PortDataReference, DataReference, PipelineDataset или OutputPortBinding.
Класс InputPortBinding позволяет указать имя входных данных этапа, если оно должно отличаться от имени объекта привязки (во избежание дублирования имен входных и выходных данных или если скрипту этапа нужно, чтобы входные данные имели определенное имя). Его также можно использовать для указания bind_mode для входных данных PythonScriptStep.
Инициализируйте InputPortBinding.
- Наследование
-
builtins.objectInputPortBinding
Конструктор
InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Имя порта ввода для привязки, который может содержать только буквы, цифры и символы подчеркивания. |
bind_object
|
Объект, который необходимо привязать к порту ввода. Default value: None
|
bind_mode
|
Указывает, будет ли на этапе использования применяться метод "download" (отправка) или "mount" (подключение) для доступа к данным. Default value: mount
|
path_on_compute
|
Для режима "download" (отправка) — локальный путь, по которому будут считываться данные на этапе. Default value: None
|
overwrite
|
Для режима "download" (отправка) указывает, следует ли перезаписывать существующие данные. Default value: None
|
is_resource
|
Указано, являются ли входные данные ресурсом. Ресурсы загружаются в папку сценариев и позволяют изменять поведение сценария во время выполнения. Default value: False
|
additional_transformations
|
<xref:azureml.dataprep.Dataflow>
Дополнительные преобразования, применяемые к входным данным. Применяется только в том случае, если выходные данные предыдущего этапа являются набором данных Машинного обучения Azure. Default value: None
|
name
Обязательно
|
Имя порта ввода для привязки, который может содержать только буквы, цифры и символы подчеркивания. |
bind_object
Обязательно
|
Объект, который необходимо привязать к порту ввода. |
bind_mode
Обязательно
|
Указывает, будет ли используемый шаг использовать метод "download", "mount" или "direct" для доступа к данным. |
path_on_compute
Обязательно
|
Для режима "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()
Возвращаемое значение
Тип | Описание |
---|---|
Имя типа данных. |
get_bind_object_name
Получение имени объекта привязки.
get_bind_object_name()
Возвращаемое значение
Тип | Описание |
---|---|
Имя объекта привязки. |
Атрибуты
additional_transformations
Получение дополнительных преобразований, применяемых к входным данным.
Возвращаемое значение
Тип | Описание |
---|---|
<xref:azureml.dataprep.Dataflow>
|
Дополнительные преобразования, применяемые к входным данным. |
bind_mode
Получение режима ("download", "mount", "direct" или "hdfs"), который будет использоваться для доступа к данным.
Возвращаемое значение
Тип | Описание |
---|---|
Режим привязки ("download", "mount", "direct" или "hdfs"). |
bind_object
Получение объекта, к которому будет привязан InputPort.
Возвращаемое значение
Тип | Описание |
---|---|
Объект привязки. |
data_reference_name
Получение имени ссылки на данные, связанной с InputPortBinding.
Возвращаемое значение
Тип | Описание |
---|---|
Имя ссылки на данные. |
data_type
is_resource
Получить значение, указывающее, являются ли входные данные ресурсом.
Возвращаемое значение
Тип | Описание |
---|---|
Являются ли входные данные ресурсом. |
name
overwrite
Для режима "download" (отправка) указывает, следует ли перезаписывать существующие данные.
Возвращаемое значение
Тип | Описание |
---|---|
Свойство перезаписи. |
path_on_compute
Получение локального пути, по которому будут считываться данные на этапе.
Возвращаемое значение
Тип | Описание |
---|---|
Путь для вычисления. |