Webservice Класс
Определяет базовые функции для развертывания моделей в качестве конечных точек веб-службы в Машинном обучении Azure.
Конструктор WebService используется для получения облачного представления объекта WebService, связанного с указанным объектом Workspace. Возвращает экземпляр дочернего класса, соответствующий конкретному типу полученного объекта WebService. Класс WebService позволяет развертывать модели машинного обучения из объекта Model или Image.
Дополнительные сведения о работе с классом WebService см. в статье Развертывание моделей в Машинном обучении Azure.
Инициализируйте экземпляр Webservice.
Конструктор Веб-службы извлекает облачное представление объекта Webservice, связанного с предоставленной рабочей областью. Он вернет экземпляр дочернего класса, соответствующий конкретному типу извлеченного объекта Webservice.
- Наследование
-
Webservice
Конструктор
Webservice(workspace, name)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект рабочей области, содержащий извлекаемый объект Webservice. |
name
Обязательно
|
Имя объекта WebService, который необходимо извлечь. |
workspace
Обязательно
|
Объект рабочей области, содержащий извлекаемый объект Webservice. |
name
Обязательно
|
Имя объекта WebService, который необходимо извлечь. |
Комментарии
В следующем примере показан рекомендуемый шаблон развертывания, в котором сначала создается объект конфигурации с методом deploy_configuration
дочернего класса WebService (в данном случае AksWebservice), а затем используется конфигурация с методом 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
В следующем примере показано, как найти существующий объект AciWebservice в рабочей области и удалить его, чтобы имя можно было использовать повторно.
from azureml.core.model import InferenceConfig
from azureml.core.webservice import AciWebservice
service_name = 'my-custom-env-service'
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)
service = Model.deploy(workspace=ws,
name=service_name,
models=[model],
inference_config=inference_config,
deployment_config=aci_config,
overwrite=True)
service.wait_for_deployment(show_output=True)
Существует несколько способов развернуть модель в качестве веб-службы:
Метод
deploy
класса Model для моделей, уже зарегистрированных в рабочей области.Метод
deploy_from_image
класса Webservice для образов, уже созданных на основе модели.Метод
deploy_from_model
класса Webservice для моделей, уже зарегистрированных в рабочей области. Этот метод создаст образ.Метод
deploy
класса Webservice, который будет регистрировать модель и создавать образ.
См. сведения о работе с объектами WebService:
Использование модели Машинного обучения Azure, развернутой в качестве веб-службы
Мониторинг и сбор данных из конечных точек веб-службы Машинного обучения
В разделе Переменные перечислены атрибуты локального представления облачного объекта WebService. Эти переменные должны считаться доступными только для чтения. Изменение их значений не будет отражено в соответствующем облачном объекте.
Переменные
Имя | Описание |
---|---|
auth_enabled
|
Включение проверки подлинности для объекта WebService. |
compute_type
|
Тип вычислений, в котором развернут объект WebService. |
created_time
|
Время создания объекта WebService. |
azureml.core.Webservice.description
|
Описание объекта WebService. |
azureml.core.Webservice.tags
|
Словарь тегов для объекта WebService. |
azureml.core.Webservice.name
|
Имя объекта WebService. |
azureml.core.Webservice.properties
|
Словарь свойств значений ключа для объекта WebService. Эти свойства нельзя изменить после развертывания, однако можно добавить новые пары "ключ-значение". |
created_by
|
Пользователь, создавший объект WebService. |
error
|
Если не удалось развернуть объект WebService, в нем будет содержаться сообщение об ошибке с причиной сбоя. |
azureml.core.Webservice.state
|
Текущее состояние объекта WebService. |
updated_time
|
Время последнего обновления объекта WebService. |
azureml.core.Webservice.workspace
|
Рабочая область Машинного обучения Azure, содержащая этот объект WebService. |
token_auth_enabled
|
Включение для объекта WebService проверки подлинности с использованием маркера. |
Методы
check_for_existing_webservice |
Проверка существования службы. |
delete |
Удалите этот объект WebService из связанной рабочей области. Этот вызов функции не является асинхронным. Вызов выполняется до тех пор, пока ресурс не будет удален. Если возникла проблема при удалении модели из службы Управления моделями, выдается WebserviceException. |
deploy |
Развертывание WebService из нуля или большего количества объектов Model. Эта функция регистрирует все предоставленные файлы моделей и создает в процессе образ, связанный с указанным Workspace. Используйте эту функцию, если у вас есть каталог моделей для развертывания, которые не были ранее зарегистрированы. Итоговый объект WebService — это конечная точка для прогнозирования в реальном времени, которую можно использовать для запросов на вывод. Дополнительные сведения см. в статье Использование модели, развернутой в качестве веб-службы. |
deploy_from_image |
Развертывание WebService из объекта Image. Используйте эту функцию, если для модели уже создан объект Image. Итоговый объект WebService — это конечная точка для прогнозирования в реальном времени, которую можно использовать для запросов на вывод. Дополнительные сведения см. в статье Использование модели, развернутой в качестве веб-службы. |
deploy_from_model |
Развертывание WebService из нуля или большего количества объектов Model. Эта функция аналогична deploy, но она не регистрирует модели. Используйте эту функцию, если у вас есть объекты модели, которые уже зарегистрированы. Будет создан образ, связанный с указанным объектом WorkSpace. Итоговый объект WebService — это конечная точка для прогнозирования в реальном времени, которую можно использовать для запросов на вывод. Дополнительные сведения см. в статье Использование модели, развернутой в качестве веб-службы. |
deploy_local_from_model |
Сборка и развертывание LocalWebservice для тестирования. Требуется установка и настройка Docker. |
deserialize |
Преобразование объекта JSON ответа службы Управления моделями в объект WebService. Метод завершается ошибкой, если указанная рабочая область не является рабочей областью, в которой зарегистрирован объект WebService. |
get_keys |
Получение ключей проверки подлинности для этого объекта WebService. |
get_logs |
Получение журналов для этого объекта WebService. |
get_token |
Получение маркера проверки подлинности для этого объекта WebService, действие которого распространяется только на текущего пользователя. |
list |
Перечисление объектов WebService, связанных с соответствующим Workspace. Возвращаемые результаты можно фильтровать с помощью параметров. |
regen_key |
Повторное создание одного из ключей объекта WebService: Primary или Secondary. Если |
run |
Вызов этого объекта WebService с помощью предоставленных входных данных. Абстрактный метод реализуется дочерними классами Webservice. |
serialize |
Преобразование этого объекта WebService в сериализованный словарь JSON. Используйте deserialize для преобразования обратно в объект WebService. |
update |
Обновление параметров WebService. Этот абстрактный метод реализуется дочерними классами Webservice. Возможные параметры для обновления зависят от дочернего типа WebService. Например, конкретные параметры для Экземпляров контейнеров Azure см. в разделе update. |
update_deployment_state |
Обновление текущего состояния объекта в памяти. Обновление свойств объекта на месте на основе текущего состояния соответствующего облачного объекта. Это полезно в первую очередь при опросе состояния создания вручную. |
wait_for_deployment |
Автоматический опрос выполняющегося развертывания WebService. Дождитесь, пока WebService достигнет конечного состояния. Будет выдано исключение WebserviceException, если объект достигнет неуспешного конечного состояния или превысит указанное время ожидания. |
check_for_existing_webservice
Проверка существования службы.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
|
name
Обязательно
|
|
overwrite
|
Default value: False
|
request_func
|
<xref:function>
Функция для запроса службы для проверки существования имени службы Default value: None
|
check_func
|
<xref:function>
Функция для проверки содержимого ответа request_func Default value: None
|
Исключения
Тип | Описание |
---|---|
delete
Удалите этот объект WebService из связанной рабочей области.
Этот вызов функции не является асинхронным. Вызов выполняется до тех пор, пока ресурс не будет удален. Если возникла проблема при удалении модели из службы Управления моделями, выдается WebserviceException.
delete()
Исключения
Тип | Описание |
---|---|
deploy
Развертывание WebService из нуля или большего количества объектов Model.
Эта функция регистрирует все предоставленные файлы моделей и создает в процессе образ, связанный с указанным Workspace. Используйте эту функцию, если у вас есть каталог моделей для развертывания, которые не были ранее зарегистрированы.
Итоговый объект WebService — это конечная точка для прогнозирования в реальном времени, которую можно использовать для запросов на вывод. Дополнительные сведения см. в статье Использование модели, развернутой в качестве веб-службы.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект Workspace для связывания с WebService. |
name
Обязательно
|
Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов. |
model_paths
Обязательно
|
Список путей к файлам модели или папке на диске. Может быть пустым списком. |
image_config
Обязательно
|
Объект ImageConfig, используемый для определения требуемых свойств объекта Image. |
deployment_config
|
Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте. Default value: None
|
deployment_target
|
ComputeTarget, где будет развернута веб-служба. Так как с Экземплярами контейнеров Azure не связан объект ComputeTarget, оставьте для этого параметра значение None (Нет) для развертывания в Экземплярах контейнеров Azure. Default value: None
|
overwrite
|
Если служба с таким именем уже существует, существующая служба будет перезаписана. Default value: False
|
Возвращаемое значение
Тип | Описание |
---|---|
Объект веб-службы, соответствующий развернутой веб-службе. |
Исключения
Тип | Описание |
---|---|
deploy_from_image
Развертывание WebService из объекта Image.
Используйте эту функцию, если для модели уже создан объект Image.
Итоговый объект WebService — это конечная точка для прогнозирования в реальном времени, которую можно использовать для запросов на вывод. Дополнительные сведения см. в статье Использование модели, развернутой в качестве веб-службы.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект Workspace для связывания с WebService. |
name
Обязательно
|
Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов. |
image
Обязательно
|
Объект Image, который необходимо развернуть. |
deployment_config
|
Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте. Default value: None
|
deployment_target
|
ComputeTarget, где будет развернута веб-служба. Так как с Экземплярами контейнеров Azure не связан объект ComputeTarget, оставьте для этого параметра значение None (Нет) для развертывания в Экземплярах контейнеров Azure. Default value: None
|
overwrite
|
Если служба с таким именем уже существует, существующая служба будет перезаписана. Default value: False
|
Возвращаемое значение
Тип | Описание |
---|---|
Объект веб-службы, соответствующий развернутой веб-службе. |
Исключения
Тип | Описание |
---|---|
deploy_from_model
Развертывание WebService из нуля или большего количества объектов Model.
Эта функция аналогична deploy, но она не регистрирует модели. Используйте эту функцию, если у вас есть объекты модели, которые уже зарегистрированы. Будет создан образ, связанный с указанным объектом WorkSpace.
Итоговый объект WebService — это конечная точка для прогнозирования в реальном времени, которую можно использовать для запросов на вывод. Дополнительные сведения см. в статье Использование модели, развернутой в качестве веб-службы.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект Workspace для связывания с WebService. |
name
Обязательно
|
Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов. |
models
Обязательно
|
Список объектов модели. Может быть пустым списком. |
image_config
Обязательно
|
Объект ImageConfig, используемый для определения требуемых свойств объекта Image. |
deployment_config
|
Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте. Default value: None
|
deployment_target
|
ComputeTarget, где будет развернута веб-служба. Так как у ACI нет связанного ComputeTarget, оставьте для этого параметра значение None, чтобы выполнить развертывание в ACI. Default value: None
|
overwrite
|
Если служба с таким именем уже существует, существующая служба будет перезаписана. Default value: False
|
Возвращаемое значение
Тип | Описание |
---|---|
Объект веб-службы, соответствующий развернутой веб-службе. |
Исключения
Тип | Описание |
---|---|
deploy_local_from_model
Сборка и развертывание LocalWebservice для тестирования.
Требуется установка и настройка Docker.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект Workspace, с которым связывается WebService. |
name
Обязательно
|
Имя для предоставления развернутой службы. Должно быть уникальным на локальном компьютере. |
models
Обязательно
|
Список объектов модели. Может быть пустым списком. |
image_config
Обязательно
|
Объект ImageConfig, используемый для определения требуемых свойств образа службы. |
deployment_config
|
Значение LocalWebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации. Default value: None
|
wait
|
Следует ли ожидать, пока контейнер Docker объекта LocalWebservice получит состояние работоспособности. Создает исключение, если контейнер аварийно завершает работу. Значение по умолчанию — False. Default value: False
|
Возвращаемое значение
Тип | Описание |
---|---|
Исключения
Тип | Описание |
---|---|
deserialize
Преобразование объекта JSON ответа службы Управления моделями в объект WebService.
Метод завершается ошибкой, если указанная рабочая область не является рабочей областью, в которой зарегистрирован объект WebService.
deserialize(workspace, webservice_payload)
Параметры
Имя | Описание |
---|---|
cls
Обязательно
|
Указывает, что это метод класса. |
workspace
Обязательно
|
Объект рабочей области, в котором зарегистрирован объект WebService. |
webservice_payload
Обязательно
|
Объект JSON для преобразования в объект WebService. |
Возвращаемое значение
Тип | Описание |
---|---|
Представление указанного объекта JSON как объекта WebService. |
Исключения
Тип | Описание |
---|---|
get_keys
Получение ключей проверки подлинности для этого объекта WebService.
get_keys()
Возвращаемое значение
Тип | Описание |
---|---|
Ключи проверки подлинности для этого объекта WebService. |
Исключения
Тип | Описание |
---|---|
get_logs
Получение журналов для этого объекта WebService.
get_logs(num_lines=5000, init=False)
Параметры
Имя | Описание |
---|---|
num_lines
|
Максимальное число извлекаемых строк журнала. Default value: 5000
|
init
|
Получение журналов контейнера Default value: False
|
Возвращаемое значение
Тип | Описание |
---|---|
Журналы для этого объекта WebService. |
Исключения
Тип | Описание |
---|---|
get_token
Получение маркера проверки подлинности для этого объекта WebService, действие которого распространяется только на текущего пользователя.
get_token()
Возвращаемое значение
Тип | Описание |
---|---|
Маркер проверки подлинности для этого объекта WebService и время его последующего обновления. |
Исключения
Тип | Описание |
---|---|
list
Перечисление объектов WebService, связанных с соответствующим Workspace.
Возвращаемые результаты можно фильтровать с помощью параметров.
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Объект Workspace для перечисления объектов WebService. |
compute_type
|
Применение фильтра для отображения списка только конкретных типов WebService. Возможные значения: ACI, AKS. Default value: None
|
image_name
|
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного имени образа. Default value: None
|
image_id
|
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного идентификатора образа. Default value: None
|
model_name
|
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного имени модели. Default value: None
|
model_id
|
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного идентификатора модели. Default value: None
|
tags
|
Фильтрация осуществляется по указанному списку по ключу или по паре [ключ, значение]. Например: ["ключ", ["ключ2", "ключ2 значение"]] Default value: None
|
properties
|
Фильтрация осуществляется по указанному списку по ключу или по паре [ключ, значение]. Например: ["ключ", ["ключ2", "ключ2 значение"]] Default value: None
|
image_digest
|
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного хэша образа. Default value: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Отфильтрованный список WebService в указанном объекте Workspace. |
Исключения
Тип | Описание |
---|---|
regen_key
Повторное создание одного из ключей объекта WebService: Primary или Secondary.
Если key
не указан или не является Primary или Secondary, выдается WebserviceException.
regen_key(key, set_key=None)
Параметры
Имя | Описание |
---|---|
key
Обязательно
|
Ключ для повторного создания. Возможные варианты: Primary или Secondary. |
set_key
|
Заданное пользователем значение, допускающее указание значения ключа вручную. Default value: None
|
Исключения
Тип | Описание |
---|---|
run
Вызов этого объекта WebService с помощью предоставленных входных данных.
Абстрактный метод реализуется дочерними классами Webservice.
abstract run(input)
Параметры
Имя | Описание |
---|---|
input
Обязательно
|
<xref:varies>
Входные данные для вызова объекта WebService. Это данные, которые модель машинного обучения планирует использовать в качестве входных данных для выполнения прогнозов. |
Возвращаемое значение
Тип | Описание |
---|---|
Результат вызова объекта WebService. Это приведет к возврату прогнозов, выполненных в модели машинного обучения. |
Исключения
Тип | Описание |
---|---|
serialize
Преобразование этого объекта WebService в сериализованный словарь JSON.
Используйте deserialize для преобразования обратно в объект WebService.
serialize()
Возвращаемое значение
Тип | Описание |
---|---|
Представление JSON этого объекта WebService. |
Исключения
Тип | Описание |
---|---|
update
Обновление параметров WebService.
Этот абстрактный метод реализуется дочерними классами Webservice. Возможные параметры для обновления зависят от дочернего типа WebService. Например, конкретные параметры для Экземпляров контейнеров Azure см. в разделе update.
abstract update(*args)
Параметры
Имя | Описание |
---|---|
args
Обязательно
|
<xref:varies>
Значения, которые необходимо обновить. |
Исключения
Тип | Описание |
---|---|
update_deployment_state
Обновление текущего состояния объекта в памяти.
Обновление свойств объекта на месте на основе текущего состояния соответствующего облачного объекта. Это полезно в первую очередь при опросе состояния создания вручную.
update_deployment_state()
Исключения
Тип | Описание |
---|---|
wait_for_deployment
Автоматический опрос выполняющегося развертывания WebService.
Дождитесь, пока WebService достигнет конечного состояния. Будет выдано исключение WebserviceException, если объект достигнет неуспешного конечного состояния или превысит указанное время ожидания.
wait_for_deployment(show_output=False, timeout_sec=None)
Параметры
Имя | Описание |
---|---|
show_output
|
Указывает, следует ли отображать более подробные выходные данные. Default value: False
|
timeout_sec
|
Создание исключения, если развертывание превышает заданное время ожидания. Default value: None
|
Исключения
Тип | Описание |
---|---|