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


AmlCompute Класс

Управляет вычислительным кластером AML в Машинном обучении Microsoft Azure.

Вычислительная среда Машинного обучения Microsoft Azure (AmlCompute) — это управляемая вычислительная инфраструктура, которая позволяет c легкостью создавать одно- и многоузловые вычислительные среды. Она создается в регионе вашей рабочей области и является ресурсом, который можно использовать совместно с другими пользователями. Дополнительные сведения см. в статье Целевые объекты вычислений в Машинном обучении Microsoft Azure.

Конструктор Класса ComputeTarget.

Получение облачного представления объекта вычислений, связанного с предоставленной рабочей областью. Возвращает экземпляр дочернего класса, соответствующего конкретному типу полученного объекта Compute.

Наследование
AmlCompute

Конструктор

AmlCompute(workspace, name)

Параметры

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

Объект рабочей области, содержащий извлекаемый объект AmlCompute.

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

Имя извлекаемого объекта AmlCompute.

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

Объект рабочей области, содержащий извлекаемый объект вычислений.

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

Имя извлекаемого объекта Compute.

Комментарии

В следующем примере создается постоянный объект вычислений, подготовленный с помощью AmlCompute. Параметр provisioning_configuration в этом примере имеет тип AmlComputeProvisioningConfiguration, который является дочерним классом ComputeTargetProvisioningConfiguration.


   from azureml.core.compute import ComputeTarget, AmlCompute
   from azureml.core.compute_target import ComputeTargetException

   # Choose a name for your CPU cluster
   cpu_cluster_name = "cpu-cluster"

   # Verify that cluster does not exist already
   try:
       cpu_cluster = ComputeTarget(workspace=ws, name=cpu_cluster_name)
       print('Found existing cluster, use it.')
   except ComputeTargetException:
       compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
                                                              max_nodes=4)
       cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)

   cpu_cluster.wait_for_completion(show_output=True)

Полный пример можно найти по адресу: https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/training/train-on-amlcompute/train-on-amlcompute.ipynb

Методы

add_identity

Добавьте тип удостоверения и (или) идентификаторы удостоверения для этого целевого объекта AmlCompute.

delete

Удаление объекта AmlCompute из связанной с ним рабочей области.

deserialize

Преобразование объекта JSON в объект AmlCompute.

detach

Окончательное удаление не поддерживается для объекта AmlCompute. Взамен рекомендуется использовать delete.

get

Возвращает объект вычисления.

get_active_runs

Возвращает генератор запусков для этого вычисления.

get_status

Извлекает текущее подробное состояние кластера AmlCompute.

list_nodes

Получите сведения (например, IP-адрес, порт и т. д.) всех вычислительных узлов в целевом объекте вычислений.

list_quotas

Получите назначенные на данный момент квоты рабочей области на основе VMFamily для данной рабочей области и подписки.

list_usages

Получите сведения о ткущем использовании, а также ограничения ресурсов AML для указанной рабочей области и подписки.

provisioning_configuration

Создание объекта конфигурации для подготовки целевого объекта AmlCompute.

refresh_state

Выполнение обновлений свойств объекта на месте.

Этот метод обновляет свойства согласно текущему состоянию соответствующего облачного объекта. В основном используется для опроса состояния вычислений вручную.

remove_identity

Удаление удостоверения для вычисления.

serialize

Преобразование этого объекта AmlCompute в сериализованный словарь JSON.

supported_vmsizes

Список поддерживаемых размеров виртуальных машин в регионе.

update

Обновление ScaleSettings для этого целевого объекта AmlCompute.

update_quotas

Обновление квоты для семейства виртуальных машин в рабочей области.

wait_for_completion

Время ожидания до завершения подготовки кластера AmlCompute.

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

add_identity

Добавьте тип удостоверения и (или) идентификаторы удостоверения для этого целевого объекта AmlCompute.

add_identity(identity_type, identity_id=None)

Параметры

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

Возможны следующие значения:

  • SystemAssigned — удостоверение, назначенное системой.

  • UserAssigned — удостоверение, назначенное пользователем. Требуется задать идентификатор удостоверения.

identity_id

Список идентификаторов ресурсов для удостоверения, назначенного пользователем. Например: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity /userAssignedIdentities/']

Default value: None

Комментарии

identity_id следует указывать только тогда, когда identity_type == UserAssigned

delete

Удаление объекта AmlCompute из связанной с ним рабочей области.

delete()

Исключения

Тип Описание

Комментарии

Если этот объект был создан с помощью Машинного обучения Azure, будут удалены и соответствующие облачные объекты. Если этот объект был создан во внешней среде и просто подключен к рабочей области, данный метод генерирует ComputeTargetException, ничего не изменяя.

deserialize

Преобразование объекта JSON в объект AmlCompute.

static deserialize(workspace, object_dict)

Параметры

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

Объект рабочей области, с которым связан объект AmlCompute.

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

Объект JSON для преобразования в объект AmlCompute.

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

Тип Описание

Представление AmlCompute указанного объекта JSON.

Исключения

Тип Описание

Комментарии

Генерирует ComputeTargetException, если указана не та рабочая область, с которой связано вычисление.

detach

Окончательное удаление не поддерживается для объекта AmlCompute. Взамен рекомендуется использовать delete.

detach()

Исключения

Тип Описание

get

Возвращает объект вычисления.

get()

get_active_runs

Возвращает генератор запусков для этого вычисления.

get_active_runs(type=None, tags=None, properties=None, status=None)

Параметры

Имя Описание
type
str

Фильтрует возвращенный генератор запусков по предоставленному типу. См. раздел add_type_provider для создания типов запуска.

Default value: None
tags
str или dict

Для запуска фильтрации используется "метка" или {"метка": "значение"}

Default value: None
properties
str или dict

Для фильтрации используется "свойство" или {"свойство": "значение"}

Default value: None
status
str

Состояние выполнения — "Выполняется" или "В очереди".

Default value: None

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

Тип Описание
<xref:builtin.generator>

Генератор ~_restclient.models.RunDto.

get_status

Извлекает текущее подробное состояние кластера AmlCompute.

get_status()

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

Тип Описание

Подробный объект состояния для кластера

list_nodes

Получите сведения (например, IP-адрес, порт и т. д.) всех вычислительных узлов в целевом объекте вычислений.

list_nodes()

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

Тип Описание

Сведения обо всех вычислительных узлах в целевом объекте вычислений.

list_quotas

Получите назначенные на данный момент квоты рабочей области на основе VMFamily для данной рабочей области и подписки.

static list_quotas(workspace, location=None)

Параметры

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

Расположение квот. Если не указано иное, по умолчанию будет задано расположение рабочей области.

Default value: None

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

Тип Описание

Перечисляет назначенные в настоящее время квоты рабочей области на основе VMFamily.

list_usages

Получите сведения о ткущем использовании, а также ограничения ресурсов AML для указанной рабочей области и подписки.

static list_usages(workspace, show_all=False, location=None)

Параметры

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

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

Default value: False
location
str

Расположение ресурса. Если не указано иное, по умолчанию будет задано расположение рабочей области.

Default value: None

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

Тип Описание

Список сведений о текущем использовании, а также ограничений для ресурсов AML

provisioning_configuration

Создание объекта конфигурации для подготовки целевого объекта AmlCompute.

static provisioning_configuration(vm_size='', vm_priority='dedicated', min_nodes=0, max_nodes=None, idle_seconds_before_scaledown=1800, admin_username=None, admin_user_password=None, admin_user_ssh_key=None, vnet_resourcegroup_name=None, vnet_name=None, subnet_name=None, tags=None, description=None, remote_login_port_public_access='NotSpecified', identity_type=None, identity_id=None, location=None, enable_node_public_ip=True)

Параметры

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

Размер виртуальных машин агента. Дополнительные сведения приведены в https://aka.ms/azureml-vm-details. Обратите внимание, что все размеры доступны не во всех регионах (см. предыдущую ссылку). Если не указано, по умолчанию используется значение Standard_NC6.

vm_priority
str

Приоритет виртуальной машины: выделенные или низкоприоритетные.

Default value: dedicated
min_nodes
int

Минимальное количество узлов в кластере. Если значение не указано, по умолчанию равно 0.

Default value: 0
max_nodes
int

Максимальное количество узлов в кластере. Если значение не указано, по умолчанию равно 4.

Default value: None
idle_seconds_before_scaledown
int

Время простоя узла в секундах перед масштабированием кластера. Если значение не указано, по умолчанию равно 1800.

Default value: 1800
admin_username
str

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

Default value: None
admin_user_password
str

Пароль учетной записи администратора.

Default value: None
admin_user_ssh_key
str

Открытый ключ SSH учетной записи администратора.

Default value: None
vnet_resourcegroup_name
str

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

Default value: None
vnet_name
str

Имя виртуальной сети.

Default value: None
subnet_name
str

Имя подсети в виртуальной сети.

Default value: None
tags

Словарь тегов значений ключа, которые необходимо указать для объекта вычислений.

Default value: None
description
str

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

Default value: None
remote_login_port_public_access
str

Состояние общедоступного порта SSH. Возможны следующие значения:

  • Disabled — общедоступный порт SSH закрыт на всех узлах кластера.

  • Enabled — общедоступный порт SSH открыт на всех узлах кластера.

  • NotSpecified — общедоступный порт SSH закрыт на всех узлах кластера, если определена виртуальная сеть; в противном случае порт открыт на всех общедоступных узлах. Это значение может использоваться по умолчанию только во время создания кластера. После создания в качестве значения будет указано Enabled или Disabled.

Default value: NotSpecified
identity_type

Возможны следующие значения:

  • SystemAssigned — удостоверение, назначенное системой.

  • UserAssigned — удостоверение, назначенное пользователем. Требуется задать идентификатор удостоверения.

Default value: None
identity_id

Список идентификаторов ресурсов для удостоверения, назначенного пользователем. Например: ['/subscriptions//resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/']

Default value: None
location
str

Расположение для подготовки кластера.

Default value: None
enable_node_public_ip

Включение общедоступного IP-адреса узла. Возможны следующие значения:

  • True — включить общедоступный IP-адрес узла.

  • False — отключить общедоступный IP-адрес узла.

  • NotSpecified — включить общедоступный IP-адрес узла.

Default value: True

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

Тип Описание

Объект конфигурации, который нужно использовать при создании объекта вычислений.

Исключения

Тип Описание

refresh_state

Выполнение обновлений свойств объекта на месте.

Этот метод обновляет свойства согласно текущему состоянию соответствующего облачного объекта. В основном используется для опроса состояния вычислений вручную.

refresh_state()

remove_identity

Удаление удостоверения для вычисления.

remove_identity(identity_id=None)

Параметры

Имя Описание
identity_id

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

Default value: None

Комментарии

Идентификатор, назначенный системой, будет автоматически удален, если идентификатор identity_id не указан.

serialize

Преобразование этого объекта AmlCompute в сериализованный словарь JSON.

serialize()

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

Тип Описание

Представление JSON этого объекта AmlCompute.

supported_vmsizes

Список поддерживаемых размеров виртуальных машин в регионе.

static supported_vmsizes(workspace, location=None)

Параметры

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

Расположение кластера. Если не указано иное, по умолчанию будет задано расположение рабочей области.

Default value: None

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

Тип Описание

Список поддерживаемых размеров виртуальных машин в регионе с именами виртуальных машин, количеством виртуальных ЦП и объемом оперативной памяти.

update

Обновление ScaleSettings для этого целевого объекта AmlCompute.

update(min_nodes=None, max_nodes=None, idle_seconds_before_scaledown=None)

Параметры

Имя Описание
min_nodes
int

Минимальное количество узлов в кластере.

Default value: None
max_nodes
int

Максимальное количество узлов в кластере.

Default value: None
idle_seconds_before_scaledown
int

Время простоя узла в секундах перед масштабированием кластера.

Default value: None

update_quotas

Обновление квоты для семейства виртуальных машин в рабочей области.

static update_quotas(workspace, vm_family, limit=None, location=None)

Параметры

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

Имя семейства виртуальных машин.

limit
int

Максимально допустимая квота ресурса.

Default value: None
location
str

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

Default value: None

wait_for_completion

Время ожидания до завершения подготовки кластера AmlCompute.

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

wait_for_completion(show_output=False, min_node_count=None, timeout_in_minutes=25, is_delete_operation=False)

Параметры

Имя Описание
show_output

Логическое значение для предоставления более подробных выходных данных.

Default value: False
min_node_count
int

Минимальное количество ожидаемых узлов, которого необходимо достигнуть для завершения подготовки. Оно не обязательно равно минимальному количеству узлов, определенному при подготовке вычислительного кластера, но не должно быть больше этого значения.

Default value: None
timeout_in_minutes
int

Время ожидания в минутах, по истечении которого подготовка считается невыполненной.

Default value: 25
is_delete_operation

Указывает, предназначена ли операция для удаления.

Default value: False

Исключения

Тип Описание