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


AksWebservice Класс

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

Развернутая служба создается из модели, скрипта и связанных файлов. Результирующая веб-служба — это конечная точка HTTP с балансировкой нагрузки с API REST. Через этот API вы можете отправлять данные в модель и получать от нее прогнозы.

AksWebservice развертывает одну службу в одной конечной точке. Чтобы развернуть несколько служб в одной конечной точке, используйте класс AksEndpoint.

Дополнительные сведения приведены в статье Развертывание модели в кластере Службы Azure Kubernetes.

Инициализируйте экземпляр Webservice.

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

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

Конструктор

AksWebservice(workspace, name)

Параметры

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

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

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

Имя объекта WebService, который необходимо извлечь.

Комментарии

Рекомендуемый шаблон развертывания предусматривает создание объекта конфигурации развертывания с помощью метода deploy_configuration с его последующим использованием с методом deploy класса Model, как показано ниже.


   # Set the web service configuration (using default here)
   aks_config = AksWebservice.deploy_configuration()

   # # Enable token auth and disable (key) auth on the webservice
   # aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)

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

Существует несколько способов развернуть модель в качестве веб-службы:

  • Метод deploy класса Model для моделей, уже зарегистрированных в рабочей области.

  • Метод deploy_from_image класса Webservice.

  • Метод deploy_from_model класса Webservice для моделей, уже зарегистрированных в рабочей области. Этот метод создаст образ.

  • Метод deploy класса Webservice, который будет регистрировать модель и создавать образ.

См. сведения о работе с объектами WebService:

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

Переменные

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

Включено ли ведение журнала AppInsights для Webservice.

autoscaler

Объект Autoscaler для WebService.

compute_name
str

Имя ComputeTarget, в которой развернут объект WebService.

container_resource_requirements

Требования к ресурсам контейнера для Webservice.

liveness_probe_requirements

Требования к пробе активности для WebService.

data_collection

Объект DataCollection для WebService.

max_concurrent_requests_per_container
int

Максимальное количество одновременных запросов на контейнер для WebService.

max_request_wait_time
int

Максимальное время ожидания запроса для WebService в миллисекундах.

num_replicas
int

Число реплик для WebService. Каждая реплика соответствует pod AKS.

scoring_timeout_ms
int

Время ожидания оценки для WebService, в миллисекундах.

azureml.core.webservice.AksWebservice.scoring_uri
str

Конечная точка оценки для WebService.

is_default

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

traffic_percentile
int

Процент трафика для маршрутизации к WebService в родительском AksEndpoint.

version_type

Тип версии для WebService в родительском AksEndpoint.

token_auth_enabled

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

environment

Объект Environment, который использовался для создания WebService.

azureml.core.webservice.AksWebservice.models

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

deployment_status
str

Состояние развертывания WebService.

namespace
str

Пространство имен AKS для WebService.

azureml.core.webservice.AksWebservice.swagger_uri
str

Конечная точка Swagger для WebService.

Методы

add_properties

Добавляет пары "ключ-значение" в словарь свойств этой веб-службы.

add_tags

Добавление пар "ключ-значение" в словарь тегов этого объекта WebService.

Вызывает исключение WebserviceException.

deploy_configuration

Создание объекта конфигурации для развертывания целевого объекта вычислений AKS.

get_access_token

Получение маркера проверки подлинности для этого объекта WebService.

get_token

НЕ РЕКОМЕНДУЕТСЯ. Используйте метод get_access_token.

Получение маркера проверки подлинности для этого объекта WebService.

remove_tags

Удаление указанных ключей из словаря тегов этого объекта WebService.

run

Вызов этого объекта WebService с помощью предоставленных входных данных.

serialize

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

update

Обновляет Webservice с помощью предоставленных свойств.

Оставленные значения None будут отображаться в этой веб-службе без изменений.

add_properties

Добавляет пары "ключ-значение" в словарь свойств этой веб-службы.

add_properties(properties)

Параметры

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

Словарь свойств для добавления.

add_tags

Добавление пар "ключ-значение" в словарь тегов этого объекта WebService.

Вызывает исключение WebserviceException.

add_tags(tags)

Параметры

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

Словарь тегов для добавления.

Исключения

Тип Описание

deploy_configuration

Создание объекта конфигурации для развертывания целевого объекта вычислений AKS.

static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)

Параметры

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

Указывает, следует ли включить автомасштабирование для этого объекта WebService. По умолчанию имеет значение true, если num_replicas имеет значение None.

Default value: None
autoscale_min_replicas
int

Минимальное число контейнеров, используемых при автомасштабировании этого объекта WebService. По умолчанию равен 1.

Default value: None
autoscale_max_replicas
int

Максимальное число контейнеров, используемых при автомасштабировании этой Веб-службы. Значение по умолчанию равно 10.

Default value: None
autoscale_refresh_seconds
int

Частота, с которой должны выполняться попытки автомасштабирования этой Веб-службы. По умолчанию равен 1.

Default value: None
autoscale_target_utilization
int

Целевой объем использования, который нужно пытаться поддерживать при автомасштабировании этой Веб-службы (в процентах от 100). Значение по умолчанию — 70.

Default value: None
collect_model_data

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

Default value: None
auth_enabled

Указывает, следует ли включить проверку подлинности для этого объект WebService. Значение по умолчанию: true.

Default value: None
cpu_cores

Количество ядер ЦП, выделяемых для этой Веб-службы. Может выражаться десятичным числом. Значение по умолчанию — 0.1. Соответствует запросу ядра Pod, а не ограничению в службе Azure Kubernetes.

Default value: None
memory_gb

Объем памяти (в ГБ), выделяемой для этого объекта WebService. Может выражаться десятичным числом. Значение по умолчанию — 0.5. Соответствует запросу памяти Pod, а не ограничению в службе Azure Kubernetes.

Default value: None
enable_app_insights

Указывает, следует ли включить ведение журнала Application Insights для этого объекта WebService. Значение по умолчанию — False.

Default value: None
scoring_timeout_ms
int

Время ожидания для вызовов оценок этой Веб-службы. Значение по умолчанию — 60000.

Default value: None
replica_max_concurrent_requests
int

Максимальное количество одновременных запросов на реплику, которое будет разрешено для этой Веб-службы. По умолчанию равен 1. Не изменяйте этот параметр со значения по умолчанию 1, если это не требует служба технической поддержки Майкрософт или член команды Машинного обучения Azure.

Default value: None
max_request_wait_time
int

Максимальный период времени (в миллисекундах), в течение которого запрос будет оставаться в очереди до возврата ошибки 503. По умолчанию: 500.

Default value: None
num_replicas
int

Количество контейнеров, выделяемых для этой Веб-службы. Значения по умолчанию нет. Если этот параметр не задан, средство автомасштабирования будет включено по умолчанию.

Default value: None
primary_key
str

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

Default value: None
secondary_key
str

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

Default value: None
tags

Словарь тегов значений ключа для предоставления этой Веб-службе.

Default value: None
properties

Словарь свойств значений ключа для предоставления этой Веб-службе. Эти свойства нельзя изменить после развертывания, однако можно добавить новые пары "ключ-значение".

Default value: None
description
str

Описание для предоставления этой веб-службе.

Default value: None
gpu_cores
int

Количество ядер GPU, выделяемых для этого объекта WebService. Значение по умолчанию — 0.

Default value: None
period_seconds
int

Частота (в секундах) выполнения пробы активности. Значение по умолчанию — 10 секунд. Минимальное значение — 1.

Default value: None
initial_delay_seconds
int

Количество секунд после запуска контейнера перед инициированием пробы активности. Значение по умолчанию — 310.

Default value: None
timeout_seconds
int

Период в секундах, после которого истекает время ожидания пробы активности. Значение по умолчанию — 2 секунды. Минимальное значение — 1.

Default value: None
success_threshold
int

Минимальное число последовательных успешных попыток проведения пробы активности после сбоя, которое нужно, чтобы проба считалась успешной. По умолчанию равен 1. Минимальное значение — 1.

Default value: None
failure_threshold
int

Количество попыток (failureThreshold), выполняемых Kubernetes, до их полного прекращения в случае запуска pod, но сбоя пробы активности. Значение по умолчанию — 3. Минимальное значение — 1.

Default value: None
namespace
str

Пространство имен Kubernetes, в котором развертывается эта Веб-служба: до 63 строчных букв, цифр (a–z, 0–9) и дефисов (-). Первый и последний символы не могут быть дефисами.

Default value: None
token_auth_enabled

Указывает, следует ли включить проверку подлинности с помощью маркера для этого объекта WebService. Если этот параметр включен, пользователи могут получить маркер доступа для доступа к этому объекту WebService с помощью учетных данных Azure Active Directory. Значение по умолчанию — False.

Default value: None
compute_target_name
str

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

Default value: None
cpu_cores_limit

Максимальное число ядер ЦП, которое может использовать этот объект WebService. Может выражаться десятичным числом.

Default value: None
memory_gb_limit

Максимальный объем памяти (в ГБ), который может использовать этот объект WebService. Может выражаться десятичным числом.

Default value: None
blobfuse_enabled

Следует ли включить blobfuse для загрузки модели для этой Веб-службы. Значение по умолчанию: true.

Default value: None

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

Тип Описание

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

Исключения

Тип Описание

get_access_token

Получение маркера проверки подлинности для этого объекта WebService.

get_access_token()

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

Тип Описание

Объект, описывающий маркер проверки подлинности для этого объекта WebService.

Исключения

Тип Описание

get_token

НЕ РЕКОМЕНДУЕТСЯ. Используйте метод get_access_token.

Получение маркера проверки подлинности для этого объекта WebService.

get_token()

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

Тип Описание

Маркер проверки подлинности для этого объекта WebService и время его обновления.

Исключения

Тип Описание

remove_tags

Удаление указанных ключей из словаря тегов этого объекта WebService.

remove_tags(tags)

Параметры

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

Список ключей для удаления

run

Вызов этого объекта WebService с помощью предоставленных входных данных.

run(input_data)

Параметры

Имя Описание
input_data
Обязательно
<xref:varies>

Входные данные для вызова WebService.

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

Тип Описание

Результат вызова WebService.

Исключения

Тип Описание

serialize

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

serialize()

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

Тип Описание

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

update

Обновляет Webservice с помощью предоставленных свойств.

Оставленные значения None будут отображаться в этой веб-службе без изменений.

update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)

Параметры

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

Новый образ для развертывания в WebService.

Default value: None
autoscale_enabled

Включить или отключить автомасштабирование этого объекта WebService.

Default value: None
autoscale_min_replicas
int

Минимальное число контейнеров, используемых при автомасштабировании этого объекта WebService.

Default value: None
autoscale_max_replicas
int

Максимальное число контейнеров, используемых при автомасштабировании этого объекта WebService.

Default value: None
autoscale_refresh_seconds
int

Частота, с которой должны выполняться попытки автомасштабирования этого объекта WebService.

Default value: None
autoscale_target_utilization
int

Целевой объем использования, который нужно пытаться поддерживать при автомасштабировании этого объекта WebService (в процентах от 100).

Default value: None
collect_model_data

Включение или отключение сбора данных модели для этого объекта WebService.

Default value: None
auth_enabled

Указывает, следует ли включить проверку подлинности для этого объекта Webservice.

Default value: None
cpu_cores

Количество ядер ЦП, выделяемых для этого объекта WebService. Может выражаться десятичным числом

Default value: None
memory_gb

Объем памяти (в ГБ), выделяемой для этого объекта WebService. Может выражаться десятичным числом

Default value: None
enable_app_insights

Указывает, следует ли включить ведение журнала Application Insights для этого объекта WebService

Default value: None
scoring_timeout_ms
int

Время ожидания для вызовов оценок этого объекта WebService.

Default value: None
replica_max_concurrent_requests
int

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

Default value: None
max_request_wait_time
int

Максимальный период времени (в миллисекундах), в течение которого запрос будет оставаться в очереди до возврата ошибки 503

Default value: None
num_replicas
int

Количество контейнеров, выделяемых для этого объекта WebService.

Default value: None
tags

Словарь тегов значений ключа для предоставления этому объекту WebService. Заменит существующие теги.

Default value: None
properties

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

Default value: None
description
str

Описание для этого объекта WebService.

Default value: None
models

Список объектов модели для упаковки в обновленную службу

Default value: None
inference_config

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

Default value: None
gpu_cores
int

Количество ядер GPU, выделяемых для этого объекта WebService.

Default value: None
period_seconds
int

Частота (в секундах) выполнения пробы активности. Значение по умолчанию — 10 секунд. Минимальное значение — 1.

Default value: None
initial_delay_seconds
int

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

Default value: None
timeout_seconds
int

Количество секунд, после которого истекает время ожидания пробы активности. Значение по умолчанию — 1 секунда. Минимальное значение — 1.

Default value: None
success_threshold
int

Минимальное число последовательных успешных попыток пробы активности после сбоя, после которых проба будет считаться успешной. По умолчанию равен 1. Минимальное значение — 1.

Default value: None
failure_threshold
int

Количество попыток (failureThreshold), выполняемых Kubernetes, до их полного прекращения в случае запуска pod, но сбоя пробы активности. Значение по умолчанию — 3. Минимальное значение — 1.

Default value: None
namespace
str

Пространство имен Kubernetes, в котором развертывается эта Веб-служба: до 63 строчных букв, цифр (a–z, 0–9) и дефисов (-). Первый и последний символы не могут быть дефисами.

Default value: None
token_auth_enabled

Указывает, следует ли включить проверку подлинности с помощью маркера для этого объекта WebService. Если этот параметр включен, пользователи могут получить маркер доступа для доступа к этой веб-службе с помощью учетных данных Azure Active Directory. Значение по умолчанию — False.

Default value: None
cpu_cores_limit

Максимальное число ядер ЦП, которое может использовать этот объект WebService. Может выражаться десятичным числом.

Default value: None
memory_gb_limit

Максимальный объем памяти (в ГБ), который может использовать этот объект WebService. Может выражаться десятичным числом.

Default value: None
kwargs
Обязательно
<xref:varies>

Включите params для поддержки миграции веб-службы AKS в подключенную конечную точку Kubernetes и развертывания. is_migration=True|False, compute_target=.

Исключения

Тип Описание