Webservice Класс

Определяет базовые функции для развертывания моделей в качестве конечных точек веб-службы в Машинном обучении Azure.

Конструктор WebService используется для получения облачного представления объекта WebService, связанного с указанным объектом Workspace. Возвращает экземпляр дочернего класса, соответствующий конкретному типу полученного объекта WebService. Класс WebService позволяет развертывать модели машинного обучения из объекта Model или Image.

Дополнительные сведения о работе с классом WebService см. в статье Развертывание моделей в Машинном обучении Azure.

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

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

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

Конструктор

Webservice(workspace, name)

Параметры

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

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

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

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

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

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

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

Имя объекта 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:

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

Переменные

auth_enabled
bool

Включение проверки подлинности для объекта WebService.

compute_type
str

Тип вычислений, в котором развернут объект WebService.

created_time
datetime

Время создания объекта WebService.

azureml.core.Webservice.description

Описание объекта WebService.

azureml.core.Webservice.tags

Словарь тегов для объекта WebService.

azureml.core.Webservice.name

Имя объекта WebService.

azureml.core.Webservice.properties

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

created_by
str

Пользователь, создавший объект WebService.

error
str

Если не удалось развернуть объект WebService, в нем будет содержаться сообщение об ошибке с причиной сбоя.

azureml.core.Webservice.state

Текущее состояние объекта WebService.

updated_time
datetime

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

azureml.core.Webservice.workspace

Рабочая область Машинного обучения Azure, содержащая этот объект WebService.

token_auth_enabled
bool

Включение для объекта 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.

Если key не указан или не является Primary или Secondary, выдается WebserviceException.

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
Workspace
Обязательно
name
str
Обязательно
overwrite
bool
значение по умолчанию: False
request_func
<xref:function>
значение по умолчанию: None

Функция для запроса службы для проверки существования имени службы

check_func
<xref:function>
значение по умолчанию: None

Функция для проверки содержимого ответа request_func

Исключения

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

Объект Workspace для связывания с WebService.

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

Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.

model_paths
list[str]
Обязательно

Список путей к файлам модели или папке на диске. Может быть пустым списком.

image_config
ImageConfig
Обязательно

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

deployment_config
WebserviceDeploymentConfiguration
значение по умолчанию: None

Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте.

deployment_target
ComputeTarget
значение по умолчанию: None

ComputeTarget, где будет развернута веб-служба. Так как с Экземплярами контейнеров Azure не связан объект ComputeTarget, оставьте для этого параметра значение None (Нет) для развертывания в Экземплярах контейнеров Azure.

overwrite
bool
значение по умолчанию: 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
Обязательно

Объект Workspace для связывания с WebService.

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

Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.

image
Image
Обязательно

Объект Image, который необходимо развернуть.

deployment_config
WebserviceDeploymentConfiguration
значение по умолчанию: None

Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте.

deployment_target
ComputeTarget
значение по умолчанию: None

ComputeTarget, где будет развернута веб-служба. Так как с Экземплярами контейнеров Azure не связан объект ComputeTarget, оставьте для этого параметра значение None (Нет) для развертывания в Экземплярах контейнеров Azure.

overwrite
bool
значение по умолчанию: 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
Обязательно

Объект Workspace для связывания с WebService.

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

Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.

models
list[Model]
Обязательно

Список объектов модели. Может быть пустым списком.

image_config
ImageConfig
Обязательно

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

deployment_config
WebserviceDeploymentConfiguration
значение по умолчанию: None

Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте.

deployment_target
ComputeTarget
значение по умолчанию: None

ComputeTarget, где будет развернута веб-служба. Так как у ACI нет связанного ComputeTarget, оставьте для этого параметра значение None, чтобы выполнить развертывание в ACI.

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

Если служба с таким именем уже существует, существующая служба будет перезаписана.

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

Объект веб-службы, соответствующий развернутой веб-службе.

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

Исключения

deploy_local_from_model

Сборка и развертывание LocalWebservice для тестирования.

Требуется установка и настройка Docker.

static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)

Параметры

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

Объект Workspace, с которым связывается WebService.

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

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

models
list[Model]
Обязательно

Список объектов модели. Может быть пустым списком.

image_config
ImageConfig
Обязательно

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

deployment_config
LocalWebserviceDeploymentConfiguration
значение по умолчанию: None

Значение LocalWebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации.

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

Следует ли ожидать, пока контейнер Docker объекта LocalWebservice получит состояние работоспособности. Создает исключение, если контейнер аварийно завершает работу. Значение по умолчанию — False.

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

Исключения

deserialize

Преобразование объекта JSON ответа службы Управления моделями в объект WebService.

Метод завершается ошибкой, если указанная рабочая область не является рабочей областью, в которой зарегистрирован объект WebService.

deserialize(workspace, webservice_payload)

Параметры

cls
Обязательно

Указывает, что это метод класса.

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

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

webservice_payload
dict
Обязательно

Объект JSON для преобразования в объект WebService.

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

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

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

Исключения

get_keys

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

get_keys()

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

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

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

(str, str)

Исключения

get_logs

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

get_logs(num_lines=5000, init=False)

Параметры

num_lines
int
значение по умолчанию: 5000

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

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

Получение журналов контейнера

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

Журналы для этого объекта WebService.

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

str

Исключения

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

Объект Workspace для перечисления объектов WebService.

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

Применение фильтра для отображения списка только конкретных типов WebService. Возможные значения: ACI, AKS.

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

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

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

Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного идентификатора образа.

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

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

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

Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного идентификатора модели.

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

Фильтрация осуществляется по указанному списку по ключу или по паре [ключ, значение]. Например: ["ключ", ["ключ2", "ключ2 значение"]]

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

Фильтрация осуществляется по указанному списку по ключу или по паре [ключ, значение]. Например: ["ключ", ["ключ2", "ключ2 значение"]]

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

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

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

Отфильтрованный список WebService в указанном объекте Workspace.

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

Исключения

regen_key

Повторное создание одного из ключей объекта WebService: Primary или Secondary.

Если key не указан или не является Primary или Secondary, выдается WebserviceException.

regen_key(key, set_key=None)

Параметры

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

Ключ для повторного создания. Возможные варианты: Primary или Secondary.

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

Указывает, следует ли отображать более подробные выходные данные.

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

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

Исключения