Module Класс
Представляет вычислительную единицу, используемую в конвейере Машинное обучение Azure.
Модуль — это коллекция файлов, которые будут выполняться в целевом объекте вычислений, и описание интерфейса. Коллекция файлов может быть скриптом, двоичными файлами или любыми другими файлами, необходимыми для выполнения в целевом объекте вычислений. Интерфейс модуля описывает входные и выходные данные, а также определения параметров. Он не привязывает их к конкретным значениям или данным. С модулем связан моментальный снимок, который фиксирует коллекцию файлов, определенных для модуля.
Инициализация модуля.
- Наследование
-
builtins.objectModule
Конструктор
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект рабочей области, которому принадлежит этот объект Module. |
module_id
Обязательно
|
Идентификатор Module. |
name
Обязательно
|
Имя Module. |
description
Обязательно
|
Описание Module. |
status
Обязательно
|
Новое состояние Module: Active, Deprecated или Disabled. |
default_version
Обязательно
|
Версия Module по умолчанию. |
module_version_list
Обязательно
|
Список объектов ModuleVersionDescriptor. |
_module_provider
|
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Только для внутреннего использования.) Поставщик module. значение по умолчанию: None
|
_module_version_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Только для внутреннего использования.) Поставщик ModuleVersion. значение по умолчанию: None
|
workspace
Обязательно
|
Объект рабочей области, которому принадлежит этот объект Module. |
module_id
Обязательно
|
Идентификатор Module. |
name
Обязательно
|
Имя Module. |
description
Обязательно
|
Описание Module. |
status
Обязательно
|
Новое состояние Module: Active, Deprecated или Disabled. |
default_version
Обязательно
|
Версия Module по умолчанию. |
module_version_list
Обязательно
|
Список объектов ModuleVersionDescriptor. |
_module_provider
Обязательно
|
<xref:<xref:_AevaMlModuleProvider object>>
Поставщик Module. |
_module_version_provider
Обязательно
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
Поставщик ModuleVersion. |
Комментарии
Объект Module выступает в качестве контейнера его версий. В следующем примере ModuleVersion создается из метода publish_python_script и имеет два входных и два выходных значения. Созданный 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.
В следующем примере показано, как подключить данные, используемые в конвейере, к входным и выходным данным ModuleVersion с помощью 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
Разрешение используемой версии модуля происходит после отправки и выполняется следующим образом:
- Удаление всех отключенных версий
- Если указана определенная версия, используйте ее, иначе
- Если для Module определена версия по умолчанию, используйте его, иначе
- Если все версии соответствуют семантике управления версиями без букв, используйте максимальное значение, иначе
- Используйте версию Module, которая была обновлена последней
Обратите внимание, что поскольку сопоставление входных и выходных данных узла с входными и выходными данными модуля определяется при создании конвейера, если разрешенная версия при отправке имеет интерфейс, отличный от того, который разрешается при создании конвейера, отправка конвейера завершится ошибкой.
Базовый модуль можно обновить в соответствии с новыми версиями, сохранив версию по умолчанию.
Модули имеют уникальные имена в рабочей области.
Методы
create |
Создание объекта Module. |
deprecate |
Установка для состояния Module значения Deprecated. |
disable |
Установка для состояния Module значения Disabled. |
enable |
Установка для состояния Module значения Active. |
get |
Получение объекта Module по имени или по идентификатору. Если какое-либо значение не указано, порождается исключение. |
get_default |
Получение версии модуля по умолчанию. |
get_default_version |
Получение версии Module по умолчанию. |
get_versions |
Получение всех версий Module. |
module_def_builder |
Создание объекта определения модуля, описывающего этап. |
module_version_list |
Получение списка версий Module. |
process_source_directory |
Обработка исходного каталога для этапа и проверка существования скрипта. |
publish |
Создание объекта ModuleVersion и его добавление в текущий Module. |
publish_adla_script |
Создание объекта ModuleVersion на основе Azure Data Lake Analytics (ADLA) и его добавление в текущий модуль. |
publish_azure_batch |
Создание ModuleVersion, использующего пакетную службу Azure, и его добавление ее в текущий Module. |
publish_python_script |
Создание ModuleVersion на основе скрипта Python и его добавление в текущий Module. |
resolve |
Разрешение и возврат правильного объекта ModuleVersion. |
set_default_version |
Задание ModuleVersion по умолчанию для Module. |
set_description |
Указание описания Module. |
set_name |
Указание имени Module. |
create
Создание объекта Module.
static create(workspace, name, description, _workflow_provider=None)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Рабочая область для создания Module. |
name
Обязательно
|
Имя Module. |
description
Обязательно
|
Описание Module. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только для внутреннего использования.) Поставщик рабочих процессов. значение по умолчанию: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Объект Module. |
deprecate
Установка для состояния Module значения Deprecated.
deprecate()
disable
Установка для состояния Module значения Disabled.
disable()
enable
Установка для состояния Module значения Active.
enable()
get
Получение объекта Module по имени или по идентификатору. Если какое-либо значение не указано, порождается исключение.
static get(workspace, module_id=None, name=None, _workflow_provider=None)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Рабочая область для создания Module. |
module_id
|
Идентификатор Module. значение по умолчанию: None
|
name
|
Имя Module. значение по умолчанию: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только для внутреннего использования.) Поставщик рабочих процессов. значение по умолчанию: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Объект Module. |
get_default
Получение версии модуля по умолчанию.
get_default()
Возвращаемое значение
Тип | Описание |
---|---|
Версия модуля по умолчанию. |
get_default_version
Получение версии Module по умолчанию.
get_default_version()
Возвращаемое значение
Тип | Описание |
---|---|
Версия Module по умолчанию. |
get_versions
Получение всех версий Module.
static get_versions(workspace, name, _workflow_provider=None)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Рабочая область, в которой был создан объект Module. |
name
Обязательно
|
Имя Module. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только для внутреннего использования.) Поставщик рабочих процессов. значение по умолчанию: 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
Обязательно
|
Имя Module. |
description
Обязательно
|
Описание Module. |
execution_type
Обязательно
|
Тип выполнения Module. |
input_bindings
Обязательно
|
Входные привязки Module. |
output_bindings
Обязательно
|
Выходные привязки Module. |
param_defs
|
Определения параметров Module. значение по умолчанию: None
|
create_sequencing_ports
|
Указывает, будут ли создаваться для Module порты виртуализации. значение по умолчанию: True
|
allow_reuse
|
Указывает, будет ли Module доступен для многократного использования. значение по умолчанию: True
|
version
|
Версия класса Module. значение по умолчанию: None
|
module_type
|
Тип Module. значение по умолчанию: None
|
step_type
|
Тип этапа, связанный с этим модулем, например, PythonScriptStep, HyperDriveStep и т. д. значение по умолчанию: None
|
arguments
|
Список аргументов с заметками для использования при вызове этого модуля. значение по умолчанию: None
|
runconfig
|
Файл runconfig, который будет использоваться для python_script_step. значение по умолчанию: None
|
cloud_settings
|
Параметры, которые будут использоваться для облаков значение по умолчанию: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Объект определения Module. |
Исключения
Тип | Описание |
---|---|
module_version_list
Получение списка версий Module.
module_version_list()
Возвращаемое значение
Тип | Описание |
---|---|
Список ModuleVersionDescriptor. |
process_source_directory
Обработка исходного каталога для этапа и проверка существования скрипта.
static process_source_directory(name, source_directory, script_name)
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Имя шага этапа. |
source_directory
Обязательно
|
Исходный каталог для этапа. |
script_name
Обязательно
|
Имя скрипта для этапа. |
Возвращаемое значение
Тип | Описание |
---|---|
Исходный каталог и хэш-пути. |
Исключения
Тип | Описание |
---|---|
publish
Создание объекта ModuleVersion и его добавление в текущий Module.
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
Обязательно
|
Описание Module. |
execution_type
Обязательно
|
Тип выполнения класса Module.
Допустимые значения — |
inputs
Обязательно
|
Входные данные класса Module. |
outputs
Обязательно
|
Выходные данные Module. |
param_defs
|
Определения параметров Module. значение по умолчанию: None
|
create_sequencing_ports
|
Указывает, будут ли создаваться для Module порты виртуализации. значение по умолчанию: True
|
version
|
Версия класса Module. значение по умолчанию: None
|
is_default
|
Указывает, является ли опубликованная версия версией по умолчанию. значение по умолчанию: False
|
content_path
|
directory. значение по умолчанию: None
|
hash_paths
|
Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое значение по умолчанию: None
|
category
|
Категория версии модуля. значение по умолчанию: None
|
arguments
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). значение по умолчанию: None
|
runconfig
|
Необязательный RunConfiguration. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости Conda и образ Docker. значение по умолчанию: 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
Обязательно
|
Описание версии Module. |
inputs
Обязательно
|
Входные привязки Module. |
outputs
Обязательно
|
Выходные привязки Module. |
params
|
Параметры ModuleVersion в виде пар name-default_value. значение по умолчанию: None
|
create_sequencing_ports
|
Указывает, будут ли создаваться для Module порты виртуализации. значение по умолчанию: True
|
degree_of_parallelism
|
Степень параллелизации, используемая для этого задания. значение по умолчанию: None
|
priority
|
Значение приоритета, используемое для текущего задания. значение по умолчанию: None
|
runtime_version
|
Версия среды выполнения обработчика Azure Data Lake Analytics (ADLA). значение по умолчанию: None
|
compute_target
|
Служба вычислений ADLA, используемая для этого задания. значение по умолчанию: None
|
version
|
Версия модуля. значение по умолчанию: None
|
is_default
|
Указывает, является ли опубликованная версия версией по умолчанию. значение по умолчанию: False
|
source_directory
|
directory. значение по умолчанию: None
|
hash_paths
|
hash_paths значение по умолчанию: None
|
category
|
Категория версии модуля. значение по умолчанию: None
|
arguments
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). значение по умолчанию: None
|
Возвращаемое значение
Тип | Описание |
---|---|
publish_azure_batch
Создание ModuleVersion, использующего пакетную службу Azure, и его добавление ее в текущий Module.
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
Обязательно
|
Описание версии Module. |
compute_target
Обязательно
|
BatchCompute или
str
Целевой объект вычислений BatchCompute. |
inputs
Обязательно
|
Входные привязки Module. |
outputs
Обязательно
|
Выходные привязки Module. |
params
|
Параметры ModuleVersion в виде пар name-default_value. значение по умолчанию: None
|
create_sequencing_ports
|
Указывает, будут ли создаваться для Module порты виртуализации. значение по умолчанию: True
|
version
|
Версия класса Module. значение по умолчанию: 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
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). значение по умолчанию: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Исключения
Тип | Описание |
---|---|
publish_python_script
Создание ModuleVersion на основе скрипта Python и его добавление в текущий Module.
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
Обязательно
|
Описание версии Module. |
inputs
Обязательно
|
Входные привязки Module. |
outputs
Обязательно
|
Выходные привязки Module. |
params
|
Параметры ModuleVersion в виде пар name-default_value. значение по умолчанию: None
|
create_sequencing_ports
|
Указывает, будут ли создаваться для Module порты виртуализации. значение по умолчанию: True
|
version
|
Версия класса Module. значение по умолчанию: None
|
is_default
|
Указывает, является ли опубликованная версия версией по умолчанию. значение по умолчанию: False
|
source_directory
|
directory. значение по умолчанию: None
|
hash_paths
|
Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое значение по умолчанию: None
|
category
|
Категория версии модуля. значение по умолчанию: None
|
arguments
|
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter). значение по умолчанию: None
|
runconfig
|
Необязательный RunConfiguration. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости Conda и образ Docker. значение по умолчанию: None
|
Возвращаемое значение
Тип | Описание |
---|---|
resolve
Разрешение и возврат правильного объекта ModuleVersion.
resolve(version=None)
Параметры
Имя | Описание |
---|---|
version
|
значение по умолчанию: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Используемая версия Module. |
set_default_version
Задание ModuleVersion по умолчанию для Module.
set_default_version(version_id)
Параметры
Имя | Описание |
---|---|
version_id
Обязательно
|
|
Возвращаемое значение
Тип | Описание |
---|---|
Версия по умолчанию. |
Исключения
Тип | Описание |
---|---|
set_description
Указание описания Module.
set_description(description)
Параметры
Имя | Описание |
---|---|
description
Обязательно
|
Указываемое описание. |
Исключения
Тип | Описание |
---|---|
set_name
Указание имени Module.
set_name(name)
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Указываемое имя. |
Исключения
Тип | Описание |
---|---|
Атрибуты
default_version
Получение версии Module по умолчанию.
Возвращаемое значение
Тип | Описание |
---|---|
Строка версии по умолчанию. |
description
id
name
status
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по