AmlCompute Класс

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

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

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

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

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

Конструктор

AmlCompute(workspace, name)

Параметры

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

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

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

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

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

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

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

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

identity_id
list[str]
значение по умолчанию: None

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

Комментарии

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

delete

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

delete()

Исключения

Комментарии

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

deserialize

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

static deserialize(workspace, object_dict)

Параметры

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

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

object_dict
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
значение по умолчанию: None

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

tags
str или dict
значение по умолчанию: None

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

properties
str или dict
значение по умолчанию: None

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

status
str
значение по умолчанию: None

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

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

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

Возвращаемый тип

<xref:builtin.generator>

get_status

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

get_status()

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

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

Возвращаемый тип

list_nodes

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

list_nodes()

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

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

Возвращаемый тип

list_quotas

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

static list_quotas(workspace, location=None)

Параметры

workspace
Workspace
Обязательно
location
str
значение по умолчанию: None

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

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

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

Возвращаемый тип

list_usages

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

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

Параметры

workspace
Workspace
Обязательно
show_all
значение по умолчанию: False

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

location
str
значение по умолчанию: 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
значение по умолчанию: dedicated

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

min_nodes
int
значение по умолчанию: 0

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

max_nodes
int
значение по умолчанию: None

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

idle_seconds_before_scaledown
int
значение по умолчанию: 1800

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

admin_username
str
значение по умолчанию: None

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

admin_user_password
str
значение по умолчанию: None

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

admin_user_ssh_key
str
значение по умолчанию: None

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

vnet_resourcegroup_name
str
значение по умолчанию: None

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

vnet_name
str
значение по умолчанию: None

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

subnet_name
str
значение по умолчанию: None

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

tags
dict[str, str]
значение по умолчанию: None

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

description
str
значение по умолчанию: None

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

remote_login_port_public_access
str
значение по умолчанию: NotSpecified

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

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

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

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

identity_type
string
значение по умолчанию: None

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

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

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

identity_id
list[str]
значение по умолчанию: None

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

location
str
значение по умолчанию: None

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

enable_node_public_ip
bool
значение по умолчанию: True

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

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

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

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

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

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

Возвращаемый тип

Исключения

refresh_state

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

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

refresh_state()

remove_identity

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

remove_identity(identity_id=None)

Параметры

identity_id
list[str]
значение по умолчанию: None

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

Комментарии

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

serialize

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

serialize()

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

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

Возвращаемый тип

supported_vmsizes

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

static supported_vmsizes(workspace, location=None)

Параметры

workspace
Workspace
Обязательно
location
str
значение по умолчанию: None

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

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

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

Возвращаемый тип

update

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

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

Параметры

min_nodes
int
значение по умолчанию: None

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

max_nodes
int
значение по умолчанию: None

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

idle_seconds_before_scaledown
int
значение по умолчанию: None

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

update_quotas

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

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

Параметры

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

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

limit
int
значение по умолчанию: None

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

location
str
значение по умолчанию: 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
bool
значение по умолчанию: False

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

min_node_count
int
значение по умолчанию: None

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

timeout_in_minutes
int
значение по умолчанию: 25

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

is_delete_operation
bool
значение по умолчанию: False

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

Исключения