Module Класс
Представляет вычислительную единицу, используемую в конвейере Машинное обучение Azure.
Модуль — это коллекция файлов, которые будут выполняться в целевом объекте вычислений, и описание интерфейса. Коллекция файлов может быть скриптом, двоичными файлами или любыми другими файлами, необходимыми для выполнения в целевом объекте вычислений. Интерфейс модуля описывает входные и выходные данные, а также определения параметров. Он не привязывает их к конкретным значениям или данным. С модулем связан моментальный снимок, который фиксирует коллекцию файлов, определенных для модуля.
Инициализация модуля.
- Наследование
-
builtins.objectModule
Конструктор
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
Параметры
- _module_provider
- <xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Только для внутреннего использования.) Поставщик модуля.
- _module_version_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Только для внутреннего использования.) Поставщик ModuleVersion.
- _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)
Параметры
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только для внутреннего использования.) Поставщик рабочего процесса.
Возвращаемое значение
Объект 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)
Параметры
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только для внутреннего использования.) Поставщик рабочего процесса.
Возвращаемое значение
Объект Module.
Возвращаемый тип
get_default
Получение версии модуля по умолчанию.
get_default()
Возвращаемое значение
Версия модуля по умолчанию.
Возвращаемый тип
get_default_version
Получение версии Module по умолчанию.
get_default_version()
Возвращаемое значение
Версия Module по умолчанию.
Возвращаемый тип
get_versions
Получение всех версий Module.
static get_versions(workspace, name, _workflow_provider=None)
Параметры
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Только для внутреннего использования.) Поставщик рабочего процесса.
Возвращаемое значение
Список 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)
Параметры
- create_sequencing_ports
- bool
Указывает, будут ли создаваться для Module порты виртуализации.
- allow_reuse
- bool
Указывает, будет ли Module доступен для многократного использования.
- step_type
- str
Тип этапа, связанный с этим модулем, например, PythonScriptStep, HyperDriveStep и т. д.
- arguments
- list
Список аргументов с заметками для использования при вызове этого модуля.
- runconfig
- str
Файл runconfig, который будет использоваться для python_script_step.
Возвращаемое значение
Объект определения Module.
Возвращаемый тип
Исключения
module_version_list
Получение списка версий Module.
module_version_list()
Возвращаемое значение
Список ModuleVersionDescriptor.
Возвращаемый тип
process_source_directory
Обработка исходного каталога для этапа и проверка существования скрипта.
static process_source_directory(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)
Параметры
- execution_type
- str
Тип выполнения класса Module.
Допустимые значения — esCloud
, adlcloud
и AzureBatchCloud
- create_sequencing_ports
- bool
Указывает, будут ли создаваться для Module порты виртуализации.
- is_default
- bool
Указывает, является ли опубликованная версия версией по умолчанию.
- hash_paths
- list
Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory
хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).
НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.
- arguments
- list
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter).
- runconfig
- RunConfiguration
Необязательный RunConfiguration. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости Conda и образ Docker.
Возвращаемый тип
Исключения
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)
Параметры
- create_sequencing_ports
- bool
Указывает, будут ли создаваться для Module порты виртуализации.
- degree_of_parallelism
- int
Степень параллелизации, используемая для этого задания.
- runtime_version
- str
Версия среды выполнения обработчика Azure Data Lake Analytics (ADLA).
- compute_target
- AdlaCompute, str
Служба вычислений ADLA, используемая для этого задания.
- is_default
- bool
Указывает, является ли опубликованная версия версией по умолчанию.
- arguments
- list
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter).
Возвращаемый тип
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)
Параметры
- create_sequencing_ports
- bool
Указывает, будут ли создаваться для Module порты виртуализации.
- is_default
- bool
Указывает, является ли опубликованная версия версией по умолчанию.
- create_pool
- bool
Указывает, следует ли создавать пул перед выполнением заданий.
- pool_id
- str
(Обязательно) Идентификатор пула, в котором будет выполняться задание.
- delete_batch_job_after_finish
- bool
Указывает, следует ли удалять задание из учетной записи пакетной службы после его завершения.
- delete_batch_pool_after_finish
- bool
Указывает, следует ли удалять пул после завершения задания.
- is_positive_exit_code_failure
- bool
Указывает, завершается ли задание ошибкой, если существует задача с положительным кодом.
- vm_image_urn
- str
Если create_pool
имеет значение True и виртуальная машина использует VirtualMachineConfiguration, этот параметр указывает, какой образ виртуальной машины следует использовать. Формат значения: urn:publisher:offer:sku
.
Например, urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
.
- run_task_as_admin
- bool
Указывает, должна ли задача выполняться с правами администратора.
- target_compute_nodes
- int
Если create_pool
имеет значение True, указывает, сколько кластерных узлов будет добавлено в пул.
- vm_size
- str
Если create_pool
имеет значение True, указывает размер виртуальной машины для вычислительных узлов.
- executable
- str
Имя команды или исполняемого файла, которые будут выполняться в рамках этого задания.
- arguments
- list
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter).
Возвращаемый тип
Исключения
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)
Параметры
- create_sequencing_ports
- bool
Указывает, будут ли создаваться для Module порты виртуализации.
- is_default
- bool
Указывает, является ли опубликованная версия версией по умолчанию.
- hash_paths
- list
Список путей для хэширования при проверке изменений в содержимом шага. Если изменения не обнаружены, конвейер будет повторно использовать содержимое этапа из предыдущего выполнения. По умолчанию содержимое source_directory
хэшируется (кроме файлов, перечисленных в .amlignore или .gitignore).
НЕ РЕКОМЕНДУЕТСЯ: больше не требуется.
- arguments
- list
Аргументы, используемые при вызове модуля. Аргументы могут быть строками, входными ссылками (InputPortDef), выходными ссылками (OutputPortDef) и параметрами конвейера (PipelineParameter).
- runconfig
- RunConfiguration
Необязательный RunConfiguration. RunConfiguration можно использовать для указания дополнительных требований для выполнения, таких как зависимости Conda и образ Docker.
Возвращаемый тип
resolve
Разрешение и возврат правильного объекта ModuleVersion.
resolve(version=None)
Параметры
- version
Возвращаемое значение
Используемая версия Module.
Возвращаемый тип
set_default_version
Задание ModuleVersion по умолчанию для Module.
set_default_version(version_id)
Параметры
- version_id
Возвращаемое значение
Версия по умолчанию.
Возвращаемый тип
Исключения
set_description
Указание описания Module.
set_description(description)
Параметры
Исключения
set_name
Указание имени Module.
set_name(name)
Параметры
Исключения
Атрибуты
default_version
Получение версии Module по умолчанию.
Возвращаемое значение
Строка версии по умолчанию.
Возвращаемый тип
description
id
name
status
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по