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


Module Класс

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

Модуль — это коллекция файлов, которые будут выполняться в целевом объекте вычислений и описании интерфейса. Коллекция файлов может быть скриптом, двоичными файлами или любыми другими файлами, необходимыми для выполнения в целевом объекте вычислений. Интерфейс модуля описывает входные данные, выходные данные и определения параметров. Он не привязывает их к определенным значениям или данным. Модуль содержит моментальный снимок, связанный с ним, который записывает коллекцию файлов, определенных для модуля.

Инициализация модуля.

Конструктор

Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)

Параметры

Имя Описание
workspace
Обязательно

Объект рабочей области, к которому принадлежит модуль.

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

Идентификатор модуля.

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

Имя модуля.

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

Описание модуля.

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

Новое состояние модуля: "Активный", "Устаревший" или "Отключен".

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

Версия модуля по умолчанию.

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
Обязательно
str

Идентификатор модуля.

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

Имя модуля.

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

Описание модуля.

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

Новое состояние модуля: "Активный", "Устаревший" или "Отключен".

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

Версия модуля по умолчанию.

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
Обязательно
str

Имя модуля.

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

Описание модуля.

_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
str

Идентификатор модуля.

Default value: None
name
str

Имя модуля.

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

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

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

Версия модуля по умолчанию.

get_versions

Получите все версии модуля.

static get_versions(workspace, name, _workflow_provider=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, в которую был создан модуль.

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

Имя модуля.

_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
Обязательно
str

Имя модуля.

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

Описание модуля.

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

Тип выполнения модуля.

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

Входные привязки модуля.

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

Выходные привязки модуля.

param_defs

Определения параметров модуля.

Default value: None
create_sequencing_ports

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

Default value: True
allow_reuse

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

Default value: True
version
str

Версия модуля.

Default value: None
module_type
str

Тип модуля.

Default value: None
step_type
str

Тип шага, связанного с этим модулем, например PythonScriptStep, HyperDriveStep и т. д.

Default value: None
arguments

Список аннотированных аргументов, используемых при вызове этого модуля

Default value: None
runconfig
str

Runconfig, который будет использоваться для python_script_step

Default value: None
cloud_settings
str

Параметры, которые будут использоваться для облаков

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
Обязательно
str

Имя шага.

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

Исходный каталог для шага.

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

Имя скрипта для шага.

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

Тип Описание

Исходный каталог и хэш-пути.

Исключения

Тип Описание

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
Обязательно
str

Описание модуля.

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

Тип выполнения модуля. Допустимые значения: esCloudadlcloud иAzureBatchCloud

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

Входные данные модуля.

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

Выходные данные модуля.

param_defs

Определения параметров модуля.

Default value: None
create_sequencing_ports

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

Default value: True
version
str

Версия модуля.

Default value: None
is_default

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

Default value: False
content_path
str

каталог

Default value: None
hash_paths

Список путей к хэшу при проверке изменений содержимого шага. Если не обнаружены изменения, конвейер повторно будет использовать содержимое шага из предыдущего запуска. По умолчанию содержимое source_directory хэшируется (за исключением файлов, перечисленных в Amlignore или .gitignore). НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.

Default value: None
category
str

Категория версии модуля

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
Обязательно
str

Имя скрипта ADLA относительно source_directory.

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

Описание версии модуля.

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

Входные привязки модуля.

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

Выходные привязки модуля.

params

Парам ModuleVersion в виде пар "имя-default_value".

Default value: None
create_sequencing_ports

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

Default value: True
degree_of_parallelism
int

Степень параллелизации, используемая для этого задания.

Default value: None
priority
int

Значение приоритета, используемое для текущего задания.

Default value: None
runtime_version
str

Версия среды выполнения подсистемы Azure Data Lake Analytics (ADLA).

Default value: None
compute_target

Вычисление ADLA, используемое для этого задания.

Default value: None
version
str

Версия модуля.

Default value: None
is_default

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

Default value: False
source_directory
str

каталог

Default value: None
hash_paths

hash_paths

Default value: None
category
str

Категория версии модуля

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
Обязательно
str

Описание версии модуля.

compute_target
Обязательно
BatchCompute или str

Целевой объект вычислений BatchCompute.

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

Входные привязки модуля.

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

Выходные привязки модуля.

params

Парам ModuleVersion в виде пар "имя-default_value".

Default value: None
create_sequencing_ports

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

Default value: True
version
str

Версия модуля.

Default value: None
is_default

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

Default value: False
create_pool

Указывает, следует ли создавать пул перед выполнением заданий.

Default value: False
pool_id
str

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

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
str

Если create_pool значение True и виртуальная машина использует VirtualMachineConfiguration, этот параметр указывает на используемый образ виртуальной машины. Формат значения: urn:publisher:offer:sku. Пример: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

Default value: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

Указывает, должна ли задача выполняться с правами администратора.

Default value: False
target_compute_nodes
int

Если create_pool задано значение True, указывает, сколько вычислительных узлов будет добавлено в пул.

Default value: 1
vm_size
str

Значение create_pool True указывает размер виртуальной машины вычислительных узлов.

Default value: standard_d1_v2
executable
str

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

Default value: None
source_directory
str

Исходный каталог.

Default value: None
category
str

Категория версии модуля

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
Обязательно
str

Имя скрипта Python относительно source_directory.

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

Описание версии модуля.

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

Входные привязки модуля.

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

Выходные привязки модуля.

params

Парам ModuleVersion в виде пар "имя-default_value".

Default value: None
create_sequencing_ports

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

Default value: True
version
str

Версия модуля.

Default value: None
is_default

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

Default value: False
source_directory
str

каталог

Default value: None
hash_paths

Список путей к хэшу при проверке изменений содержимого шага. Если не обнаружены изменения, конвейер повторно будет использовать содержимое шага из предыдущего запуска. По умолчанию содержимое source_directory хэшируется (за исключением файлов, перечисленных в .amlignore или .gitignore). НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.

Default value: None
category
str

Категория версии модуля

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

Задайте модуль по умолчанию ModuleVersion модуля.

set_default_version(version_id)

Параметры

Имя Описание
version_id
Обязательно

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

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

Версия по умолчанию.

Исключения

Тип Описание

set_description

Задайте описание модуля.

set_description(description)

Параметры

Имя Описание
description
Обязательно
str

Описание, заданное.

Исключения

Тип Описание

set_name

Задайте имя модуля.

set_name(name)

Параметры

Имя Описание
name
Обязательно
str

Имя, заданное.

Исключения

Тип Описание

Атрибуты

default_version

Получите версию модуля по умолчанию.

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

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

Строка версии по умолчанию.

description

Получите описание модуля.

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

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

Строка описания.

id

Получите идентификатор модуля.

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

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

Идентификатор.

name

Получите имя модуля.

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

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

Имя.

status

Получение состояния модуля.

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

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

Состояние.