Module Класс
Представляет единицу вычислений, используемую в конвейере машинного обучения Azure.
Модуль — это коллекция файлов, которые будут выполняться в целевом объекте вычислений и описании интерфейса. Коллекция файлов может быть скриптом, двоичными файлами или любыми другими файлами, необходимыми для выполнения в целевом объекте вычислений. Интерфейс модуля описывает входные данные, выходные данные и определения параметров. Он не привязывает их к определенным значениям или данным. Модуль содержит моментальный снимок, связанный с ним, который записывает коллекцию файлов, определенных для модуля.
Инициализация модуля.
Конструктор
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
Параметры
| Имя | Описание |
|---|---|
|
workspace
Обязательно
|
Объект рабочей области, к которому принадлежит модуль. |
|
module_id
Обязательно
|
Идентификатор модуля. |
|
name
Обязательно
|
Имя модуля. |
|
description
Обязательно
|
Описание модуля. |
|
status
Обязательно
|
Новое состояние модуля: "Активный", "Устаревший" или "Отключен". |
|
default_version
Обязательно
|
Версия модуля по умолчанию. |
|
module_version_list
Обязательно
|
Список ModuleVersionDescriptor объектов. |
|
_module_provider
|
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Только внутреннее использование.) Поставщик модуля. Default value: None
|
|
_module_version_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Только внутреннее использование.) Поставщик ModuleVersion. Default value: None
|
|
workspace
Обязательно
|
Объект рабочей области, к которому принадлежит модуль. |
|
module_id
Обязательно
|
Идентификатор модуля. |
|
name
Обязательно
|
Имя модуля. |
|
description
Обязательно
|
Описание модуля. |
|
status
Обязательно
|
Новое состояние модуля: "Активный", "Устаревший" или "Отключен". |
|
default_version
Обязательно
|
Версия модуля по умолчанию. |
|
module_version_list
Обязательно
|
Список ModuleVersionDescriptor объектов. |
|
_module_provider
Обязательно
|
<xref:<xref:_AevaMlModuleProvider object>>
Поставщик модуля. |
|
_module_version_provider
Обязательно
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
Поставщик ModuleVersion. |
Комментарии
Модуль выступает в качестве контейнера его версий. В следующем примере модульVersion создается из publish_python_script метода и имеет два входных данных и два выходных данных. Create ModuleVersion — это версия по умолчанию (is_default имеет значение True).
out_sum = OutputPortDef(name="out_sum", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Sum of two numbers")
out_prod = OutputPortDef(name="out_prod", default_datastore_name=datastore.name, default_datastore_mode="mount",
label="Product of two numbers")
entry_version = module.publish_python_script("calculate.py", "initial",
inputs=[], outputs=[out_sum, out_prod], params = {"initialNum":12},
version="1", source_directory="./calc")
Полный пример доступен из https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Этот модуль можно использовать при определении конвейера в различных шагах с помощью модуля ModuleStep.
В следующем примере показано, как подключить данные, используемые в конвейере, к входным и выходным данным модуляVersion с помощью PipelineData:
middle_step_input_wiring = {"in1":first_sum, "in2":first_prod}
middle_sum = PipelineData("middle_sum", datastore=datastore, output_mode="mount",is_directory=False)
middle_prod = PipelineData("middle_prod", datastore=datastore, output_mode="mount",is_directory=False)
middle_step_output_wiring = {"out_sum":middle_sum, "out_prod":middle_prod}
Полный пример доступен из https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Затем сопоставление можно использовать при создании ModuleStep:
middle_step = ModuleStep(module=module,
inputs_map= middle_step_input_wiring,
outputs_map= middle_step_output_wiring,
runconfig=RunConfiguration(), compute_target=aml_compute,
arguments = ["--file_num1", first_sum, "--file_num2", first_prod,
"--output_sum", middle_sum, "--output_product", middle_prod])
Полный пример доступен из https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Разрешение того, какая версия модуля будет использоваться при отправке, и выполняет следующий процесс:
- Удаление всех отключенных версий
- Если была указана определенная версия, используйте это, в противном случае
- Если в модуле определена версия по умолчанию, используйте это.
- Если все версии соответствуют семантической версии без букв, примите наибольшее значение, кроме того,
- Запустите версию модуля, который был обновлен последний раз
Обратите внимание, что поскольку входные и выходные данные узла сопоставляются с входными и выходными данными модуля, определяются при создании конвейера, если разрешенная версия при отправке имеет другой интерфейс, который разрешен при создании конвейера, то отправка конвейера завершится ошибкой.
Базовый модуль можно обновить с новыми версиями, сохраняя версию по умолчанию одинаковой.
Модули уникально именуются в рабочей области.
Методы
| create |
Создайте модуль. |
| deprecate |
Задайте для модуля значение "Не рекомендуется". |
| disable |
Установите для модуля значение "Отключено". |
| enable |
Задайте для модуля значение "Активный". |
| get |
Получение модуля по имени или по идентификатору; создает исключение, если оно не указано. |
| get_default |
Получите версию модуля по умолчанию. |
| get_default_version |
Получите версию модуля по умолчанию. |
| get_versions |
Получите все версии модуля. |
| module_def_builder |
Создайте объект определения модуля, описывающий шаг. |
| module_version_list |
Получите список версий модуля. |
| process_source_directory |
Обработайте исходный каталог для шага и убедитесь, что скрипт существует. |
| publish |
Создайте ModuleVersion и добавьте его в текущий модуль. |
| publish_adla_script |
Создайте ModuleVersion на основе Azure Data Lake Analytics (ADLA) и добавьте его в текущий модуль. |
| publish_azure_batch |
Создайте ModuleVersion, использующую пакет Azure, и добавьте его в текущий модуль. |
| publish_python_script |
Создайте ModuleVersion, основанный на скрипте Python, и добавьте его в текущий модуль. |
| resolve |
Устраните и верните правильный модульVersion. |
| set_default_version |
Задайте модуль по умолчанию ModuleVersion модуля. |
| set_description |
Задайте описание модуля. |
| set_name |
Задайте имя модуля. |
create
Создайте модуль.
static create(workspace, name, description, _workflow_provider=None)
Параметры
| Имя | Описание |
|---|---|
|
workspace
Обязательно
|
Рабочая область, в которой создается модуль. |
|
name
Обязательно
|
Имя модуля. |
|
description
Обязательно
|
Описание модуля. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только внутреннее использование.) Поставщик рабочих процессов. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Объект Module |
deprecate
Задайте для модуля значение "Не рекомендуется".
deprecate()
disable
Установите для модуля значение "Отключено".
disable()
enable
Задайте для модуля значение "Активный".
enable()
get
Получение модуля по имени или по идентификатору; создает исключение, если оно не указано.
static get(workspace, module_id=None, name=None, _workflow_provider=None)
Параметры
| Имя | Описание |
|---|---|
|
workspace
Обязательно
|
Рабочая область, в которой создается модуль. |
|
module_id
|
Идентификатор модуля. Default value: None
|
|
name
|
Имя модуля. Default value: None
|
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только внутреннее использование.) Поставщик рабочих процессов. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Объект Module |
get_default
Получите версию модуля по умолчанию.
get_default()
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Версия модуля по умолчанию. |
get_default_version
Получите версию модуля по умолчанию.
get_default_version()
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Версия модуля по умолчанию. |
get_versions
Получите все версии модуля.
static get_versions(workspace, name, _workflow_provider=None)
Параметры
| Имя | Описание |
|---|---|
|
workspace
Обязательно
|
Рабочая область, в которую был создан модуль. |
|
name
Обязательно
|
Имя модуля. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только внутреннее использование.) Поставщик рабочих процессов. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Список ModuleVersionDescriptor |
module_def_builder
Создайте объект определения модуля, описывающий шаг.
static module_def_builder(name, description, execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, step_type=None, arguments=None, runconfig=None, cloud_settings=None)
Параметры
| Имя | Описание |
|---|---|
|
name
Обязательно
|
Имя модуля. |
|
description
Обязательно
|
Описание модуля. |
|
execution_type
Обязательно
|
Тип выполнения модуля. |
|
input_bindings
Обязательно
|
Входные привязки модуля. |
|
output_bindings
Обязательно
|
Выходные привязки модуля. |
|
param_defs
|
Определения параметров модуля. Default value: None
|
|
create_sequencing_ports
|
Указывает, будут ли созданы порты последовательности для модуля. Default value: True
|
|
allow_reuse
|
Указывает, будет ли он доступен для повторного использования модуля. Default value: True
|
|
version
|
Версия модуля. Default value: None
|
|
module_type
|
Тип модуля. Default value: None
|
|
step_type
|
Тип шага, связанного с этим модулем, например PythonScriptStep, HyperDriveStep и т. д. Default value: None
|
|
arguments
|
Список аннотированных аргументов, используемых при вызове этого модуля Default value: None
|
|
runconfig
|
Runconfig, который будет использоваться для python_script_step Default value: None
|
|
cloud_settings
|
Параметры, которые будут использоваться для облаков Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Объект module def. |
Исключения
| Тип | Описание |
|---|---|
module_version_list
Получите список версий модуля.
module_version_list()
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Список ModuleVersionDescriptor |
process_source_directory
Обработайте исходный каталог для шага и убедитесь, что скрипт существует.
static process_source_directory(name, source_directory, script_name)
Параметры
| Имя | Описание |
|---|---|
|
name
Обязательно
|
Имя шага. |
|
source_directory
Обязательно
|
Исходный каталог для шага. |
|
script_name
Обязательно
|
Имя скрипта для шага. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Исходный каталог и хэш-пути. |
Исключения
| Тип | Описание |
|---|---|
publish
Создайте ModuleVersion и добавьте его в текущий модуль.
publish(description, execution_type, inputs, outputs, param_defs=None, create_sequencing_ports=True, version=None, is_default=False, content_path=None, hash_paths=None, category=None, arguments=None, runconfig=None)
Параметры
| Имя | Описание |
|---|---|
|
description
Обязательно
|
Описание модуля. |
|
execution_type
Обязательно
|
Тип выполнения модуля.
Допустимые значения: |
|
inputs
Обязательно
|
Входные данные модуля. |
|
outputs
Обязательно
|
Выходные данные модуля. |
|
param_defs
|
Определения параметров модуля. Default value: None
|
|
create_sequencing_ports
|
Указывает, будут ли созданы порты последовательности для модуля. Default value: True
|
|
version
|
Версия модуля. Default value: None
|
|
is_default
|
Указывает, должна ли опубликованная версия быть версией по умолчанию. Default value: False
|
|
content_path
|
каталог Default value: None
|
|
hash_paths
|
Список путей к хэшу при проверке изменений содержимого шага. Если не обнаружены изменения, конвейер повторно будет использовать содержимое шага из предыдущего запуска. По умолчанию содержимое Default value: None
|
|
category
|
Категория версии модуля Default value: None
|
|
arguments
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). Default value: None
|
|
runconfig
|
Необязательный параметр RunConfiguration. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости conda и образ Docker. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
Исключения
| Тип | Описание |
|---|---|
publish_adla_script
Создайте ModuleVersion на основе Azure Data Lake Analytics (ADLA) и добавьте его в текущий модуль.
publish_adla_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, degree_of_parallelism=None, priority=None, runtime_version=None, compute_target=None, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None)
Параметры
| Имя | Описание |
|---|---|
|
script_name
Обязательно
|
Имя скрипта ADLA относительно |
|
description
Обязательно
|
Описание версии модуля. |
|
inputs
Обязательно
|
Входные привязки модуля. |
|
outputs
Обязательно
|
Выходные привязки модуля. |
|
params
|
Парам ModuleVersion в виде пар "имя-default_value". Default value: None
|
|
create_sequencing_ports
|
Указывает, будут ли созданы порты последовательности для модуля. Default value: True
|
|
degree_of_parallelism
|
Степень параллелизации, используемая для этого задания. Default value: None
|
|
priority
|
Значение приоритета, используемое для текущего задания. Default value: None
|
|
runtime_version
|
Версия среды выполнения подсистемы Azure Data Lake Analytics (ADLA). Default value: None
|
|
compute_target
|
Вычисление ADLA, используемое для этого задания. Default value: None
|
|
version
|
Версия модуля. Default value: None
|
|
is_default
|
Указывает, должна ли опубликованная версия быть версией по умолчанию. Default value: False
|
|
source_directory
|
каталог Default value: None
|
|
hash_paths
|
hash_paths Default value: None
|
|
category
|
Категория версии модуля Default value: None
|
|
arguments
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
publish_azure_batch
Создайте ModuleVersion, использующую пакет Azure, и добавьте его в текущий модуль.
publish_azure_batch(description, compute_target, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, create_pool=False, pool_id=None, delete_batch_job_after_finish=False, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', executable=None, source_directory=None, category=None, arguments=None)
Параметры
| Имя | Описание |
|---|---|
|
description
Обязательно
|
Описание версии модуля. |
|
compute_target
Обязательно
|
BatchCompute или
str
Целевой объект вычислений BatchCompute. |
|
inputs
Обязательно
|
Входные привязки модуля. |
|
outputs
Обязательно
|
Выходные привязки модуля. |
|
params
|
Парам ModuleVersion в виде пар "имя-default_value". Default value: None
|
|
create_sequencing_ports
|
Указывает, будут ли созданы порты последовательности для модуля. Default value: True
|
|
version
|
Версия модуля. Default value: None
|
|
is_default
|
Указывает, должна ли опубликованная версия быть версией по умолчанию. Default value: False
|
|
create_pool
|
Указывает, следует ли создавать пул перед выполнением заданий. Default value: False
|
|
pool_id
|
(Обязательный) Идентификатор пула, в котором будет выполняться задание. Default value: None
|
|
delete_batch_job_after_finish
|
Указывает, следует ли удалить задание из учетной записи пакетной службы после завершения. Default value: False
|
|
delete_batch_pool_after_finish
|
Указывает, следует ли удалять пул после завершения задания. Default value: False
|
|
is_positive_exit_code_failure
|
Указывает, завершается ли задание ошибкой, если задача существует с положительным кодом. Default value: True
|
|
vm_image_urn
|
Если Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
|
|
run_task_as_admin
|
Указывает, должна ли задача выполняться с правами администратора. Default value: False
|
|
target_compute_nodes
|
Если Default value: 1
|
|
vm_size
|
Значение Default value: standard_d1_v2
|
|
executable
|
Имя команды или исполняемого файла, которое будет выполняться в рамках задания. Default value: None
|
|
source_directory
|
Исходный каталог. Default value: None
|
|
category
|
Категория версии модуля Default value: None
|
|
arguments
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
Исключения
| Тип | Описание |
|---|---|
publish_python_script
Создайте ModuleVersion, основанный на скрипте Python, и добавьте его в текущий модуль.
publish_python_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None, runconfig=None)
Параметры
| Имя | Описание |
|---|---|
|
script_name
Обязательно
|
Имя скрипта Python относительно |
|
description
Обязательно
|
Описание версии модуля. |
|
inputs
Обязательно
|
Входные привязки модуля. |
|
outputs
Обязательно
|
Выходные привязки модуля. |
|
params
|
Парам ModuleVersion в виде пар "имя-default_value". Default value: None
|
|
create_sequencing_ports
|
Указывает, будут ли созданы порты последовательности для модуля. Default value: True
|
|
version
|
Версия модуля. Default value: None
|
|
is_default
|
Указывает, должна ли опубликованная версия быть версией по умолчанию. Default value: False
|
|
source_directory
|
каталог Default value: None
|
|
hash_paths
|
Список путей к хэшу при проверке изменений содержимого шага. Если не обнаружены изменения, конвейер повторно будет использовать содержимое шага из предыдущего запуска. По умолчанию содержимое Default value: None
|
|
category
|
Категория версии модуля Default value: None
|
|
arguments
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). Default value: None
|
|
runconfig
|
Необязательный параметр RunConfiguration. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости conda и образ Docker. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
resolve
Устраните и верните правильный модульVersion.
resolve(version=None)
Параметры
| Имя | Описание |
|---|---|
|
version
|
Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Используемая версия модуля. |
set_default_version
set_description
set_name
Атрибуты
default_version
Получите версию модуля по умолчанию.
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Строка версии по умолчанию. |