AksWebservice Класс

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

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

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

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

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

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

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

Конструктор

AksWebservice(workspace, name)

Параметры

workspace
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
bool

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

autoscaler
AutoScaler

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

compute_name
str

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

container_resource_requirements
ContainerResourceRequirements

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

liveness_probe_requirements
LivenessProbeRequirements

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

data_collection
DataCollection

Объект 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
bool

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

traffic_percentile
int

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

version_type
VersionType

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

token_auth_enabled
bool

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

environment
Environment

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

azureml.core.webservice.AksWebservice.models
list[Model]

Список моделей, развернутых в 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
dict[str, str]
Обязательно

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

add_tags

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

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

add_tags(tags)

Параметры

tags
dict[str, str]
Обязательно

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

Исключения

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

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

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

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

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

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

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

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

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

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

collect_model_data
bool
значение по умолчанию: None

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

auth_enabled
bool
значение по умолчанию: None

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

cpu_cores
float
значение по умолчанию: None

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

memory_gb
float
значение по умолчанию: None

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

enable_app_insights
bool
значение по умолчанию: None

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

token_auth_enabled
bool
значение по умолчанию: None

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

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

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

cpu_cores_limit
float
значение по умолчанию: None

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

memory_gb_limit
float
значение по умолчанию: None

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

blobfuse_enabled
bool
значение по умолчанию: None

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

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

Объект конфигурации, используемый при развертывании объекта 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
list[str]
Обязательно

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

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

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

autoscale_enabled
bool
значение по умолчанию: None

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

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

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

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

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

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

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

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

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

collect_model_data
bool
значение по умолчанию: None

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

auth_enabled
bool
значение по умолчанию: None

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

cpu_cores
float
значение по умолчанию: None

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

memory_gb
float
значение по умолчанию: None

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

enable_app_insights
bool
значение по умолчанию: None

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

inference_config
InferenceConfig
значение по умолчанию: None

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

token_auth_enabled
bool
значение по умолчанию: None

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

cpu_cores_limit
float
значение по умолчанию: None

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

memory_gb_limit
float
значение по умолчанию: None

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

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

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

Исключения