AksWebservice Класс
Представляет модель машинного обучения, развернутую в качестве конечной точки веб-службы в Службе Kubernetes Azure.
Развернутая служба создается из модели, скрипта и связанных файлов. Результирующая веб-служба — это конечная точка HTTP с балансировкой нагрузки с API REST. Через этот API вы можете отправлять данные в модель и получать от нее прогнозы.
AksWebservice развертывает одну службу в одной конечной точке. Чтобы развернуть несколько служб в одной конечной точке, используйте класс AksEndpoint.
Дополнительные сведения приведены в статье Развертывание модели в кластере Службы Azure Kubernetes.
Инициализируйте экземпляр Webservice.
Конструктор Веб-службы извлекает облачное представление объекта Webservice, связанного с предоставленной рабочей областью. Он вернет экземпляр дочернего класса, соответствующий конкретному типу извлеченного объекта Webservice.
- Наследование
-
AksWebservice
Конструктор
AksWebservice(workspace, name)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект рабочей области, содержащий извлекаемый объект Webservice. |
name
Обязательно
|
Имя объекта 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:
Использование модели Машинного обучения Azure, развернутой в качестве веб-службы
Мониторинг и сбор данных из конечных точек веб-службы Машинного обучения
В разделе Переменные перечислены атрибуты локального представления облачного объекта AksWebservice. Эти переменные должны считаться доступными только для чтения. Изменение их значений не будет отражено в соответствующем облачном объекте.
Переменные
Имя | Описание |
---|---|
enable_app_insights
|
Включено ли ведение журнала AppInsights для Webservice. |
autoscaler
|
Объект Autoscaler для WebService. |
compute_name
|
Имя ComputeTarget, в которой развернут объект WebService. |
container_resource_requirements
|
Требования к ресурсам контейнера для Webservice. |
liveness_probe_requirements
|
Требования к пробе активности для WebService. |
data_collection
|
Объект DataCollection для WebService. |
max_concurrent_requests_per_container
|
Максимальное количество одновременных запросов на контейнер для WebService. |
max_request_wait_time
|
Максимальное время ожидания запроса для WebService в миллисекундах. |
num_replicas
|
Число реплик для WebService. Каждая реплика соответствует pod AKS. |
scoring_timeout_ms
|
Время ожидания оценки для WebService, в миллисекундах. |
azureml.core.webservice.AksWebservice.scoring_uri
|
Конечная точка оценки для WebService. |
is_default
|
Указывает, является ли WebService версией по умолчанию для родительского AksEndpoint. |
traffic_percentile
|
Процент трафика для маршрутизации к WebService в родительском AksEndpoint. |
version_type
|
Тип версии для WebService в родительском AksEndpoint. |
token_auth_enabled
|
Указывает, включена ли проверка подлинности на основе маркера для WebService. |
environment
|
Объект Environment, который использовался для создания WebService. |
azureml.core.webservice.AksWebservice.models
|
Список моделей, развернутых в WebService. |
deployment_status
|
Состояние развертывания WebService. |
namespace
|
Пространство имен AKS для WebService. |
azureml.core.webservice.AksWebservice.swagger_uri
|
Конечная точка Swagger для WebService. |
Методы
add_properties |
Добавляет пары "ключ-значение" в словарь свойств этой веб-службы. |
add_tags |
Добавление пар "ключ-значение" в словарь тегов этого объекта WebService. Вызывает исключение WebserviceException. |
deploy_configuration |
Создание объекта конфигурации для развертывания целевого объекта вычислений AKS. |
get_access_token |
Получение маркера проверки подлинности для этого объекта WebService. |
get_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
|
Минимальное число контейнеров, используемых при автомасштабировании этого объекта WebService. По умолчанию равен 1. Default value: None
|
autoscale_max_replicas
|
Максимальное число контейнеров, используемых при автомасштабировании этой Веб-службы. Значение по умолчанию равно 10. Default value: None
|
autoscale_refresh_seconds
|
Частота, с которой должны выполняться попытки автомасштабирования этой Веб-службы. По умолчанию равен 1. Default value: None
|
autoscale_target_utilization
|
Целевой объем использования, который нужно пытаться поддерживать при автомасштабировании этой Веб-службы (в процентах от 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
|
Время ожидания для вызовов оценок этой Веб-службы. Значение по умолчанию — 60000. Default value: None
|
replica_max_concurrent_requests
|
Максимальное количество одновременных запросов на реплику, которое будет разрешено для этой Веб-службы. По умолчанию равен 1. Не изменяйте этот параметр со значения по умолчанию 1, если это не требует служба технической поддержки Майкрософт или член команды Машинного обучения Azure. Default value: None
|
max_request_wait_time
|
Максимальный период времени (в миллисекундах), в течение которого запрос будет оставаться в очереди до возврата ошибки 503. По умолчанию: 500. Default value: None
|
num_replicas
|
Количество контейнеров, выделяемых для этой Веб-службы. Значения по умолчанию нет. Если этот параметр не задан, средство автомасштабирования будет включено по умолчанию. Default value: None
|
primary_key
|
Первичный ключ проверки подлинности, используемый для этой Веб-службы. Default value: None
|
secondary_key
|
Вторичный ключ проверки подлинности, используемый для этой Веб-службы. Default value: None
|
tags
|
Словарь тегов значений ключа для предоставления этой Веб-службе. Default value: None
|
properties
|
Словарь свойств значений ключа для предоставления этой Веб-службе. Эти свойства нельзя изменить после развертывания, однако можно добавить новые пары "ключ-значение". Default value: None
|
description
|
Описание для предоставления этой веб-службе. Default value: None
|
gpu_cores
|
Количество ядер GPU, выделяемых для этого объекта WebService. Значение по умолчанию — 0. Default value: None
|
period_seconds
|
Частота (в секундах) выполнения пробы активности. Значение по умолчанию — 10 секунд. Минимальное значение — 1. Default value: None
|
initial_delay_seconds
|
Количество секунд после запуска контейнера перед инициированием пробы активности. Значение по умолчанию — 310. Default value: None
|
timeout_seconds
|
Период в секундах, после которого истекает время ожидания пробы активности. Значение по умолчанию — 2 секунды. Минимальное значение — 1. Default value: None
|
success_threshold
|
Минимальное число последовательных успешных попыток проведения пробы активности после сбоя, которое нужно, чтобы проба считалась успешной. По умолчанию равен 1. Минимальное значение — 1. Default value: None
|
failure_threshold
|
Количество попыток (failureThreshold), выполняемых Kubernetes, до их полного прекращения в случае запуска pod, но сбоя пробы активности. Значение по умолчанию — 3. Минимальное значение — 1. Default value: None
|
namespace
|
Пространство имен Kubernetes, в котором развертывается эта Веб-служба: до 63 строчных букв, цифр (a–z, 0–9) и дефисов (-). Первый и последний символы не могут быть дефисами. Default value: None
|
token_auth_enabled
|
Указывает, следует ли включить проверку подлинности с помощью маркера для этого объекта WebService. Если этот параметр включен, пользователи могут получить маркер доступа для доступа к этому объекту WebService с помощью учетных данных Azure Active Directory. Значение по умолчанию — False. Default value: None
|
compute_target_name
|
Имя целевого объект вычислений, в который будет выполняться развертывание 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
|
Минимальное число контейнеров, используемых при автомасштабировании этого объекта WebService. Default value: None
|
autoscale_max_replicas
|
Максимальное число контейнеров, используемых при автомасштабировании этого объекта WebService. Default value: None
|
autoscale_refresh_seconds
|
Частота, с которой должны выполняться попытки автомасштабирования этого объекта WebService. Default value: None
|
autoscale_target_utilization
|
Целевой объем использования, который нужно пытаться поддерживать при автомасштабировании этого объекта 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
|
Время ожидания для вызовов оценок этого объекта WebService. Default value: None
|
replica_max_concurrent_requests
|
Максимальное количество одновременных запросов на реплику, которое будет разрешено для этого объекта WebService. Default value: None
|
max_request_wait_time
|
Максимальный период времени (в миллисекундах), в течение которого запрос будет оставаться в очереди до возврата ошибки 503 Default value: None
|
num_replicas
|
Количество контейнеров, выделяемых для этого объекта WebService. Default value: None
|
tags
|
Словарь тегов значений ключа для предоставления этому объекту WebService. Заменит существующие теги. Default value: None
|
properties
|
Словарь свойств значений ключа, добавляемых в словарь существующих свойств Default value: None
|
description
|
Описание для этого объекта WebService. Default value: None
|
models
|
Список объектов модели для упаковки в обновленную службу Default value: None
|
inference_config
|
Объект InferenceConfig, используемый для предоставления требуемых свойств развертывания модели. Default value: None
|
gpu_cores
|
Количество ядер GPU, выделяемых для этого объекта WebService. Default value: None
|
period_seconds
|
Частота (в секундах) выполнения пробы активности. Значение по умолчанию — 10 секунд. Минимальное значение — 1. Default value: None
|
initial_delay_seconds
|
Количество секунд после запуска контейнера до начала пробы активности. Default value: None
|
timeout_seconds
|
Количество секунд, после которого истекает время ожидания пробы активности. Значение по умолчанию — 1 секунда. Минимальное значение — 1. Default value: None
|
success_threshold
|
Минимальное число последовательных успешных попыток пробы активности после сбоя, после которых проба будет считаться успешной. По умолчанию равен 1. Минимальное значение — 1. Default value: None
|
failure_threshold
|
Количество попыток (failureThreshold), выполняемых Kubernetes, до их полного прекращения в случае запуска pod, но сбоя пробы активности. Значение по умолчанию — 3. Минимальное значение — 1. Default value: None
|
namespace
|
Пространство имен 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=. |
Исключения
Тип | Описание |
---|---|