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


Webservice Класс

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

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

Дополнительные сведения о работе с веб-службой см. в статье "Развертывание моделей с помощью машинного обучения Azure".

Инициализация экземпляра веб-службы.

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

Конструктор

Webservice(workspace, name)

Параметры

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

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

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

Имя извлекаемого объекта веб-службы.

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

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

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

Имя извлекаемого объекта веб-службы.

Комментарии

В следующем примере показан рекомендуемый шаблон развертывания, в котором сначала создается объект конфигурации с deploy_configuration методом дочернего класса веб-службы (в данном случае 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)

В следующем примере показано, как найти существующую 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метод , который будет регистрировать модель и создавать изображение.

Сведения о работе с веб-службами см. в разделе

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

Переменные

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

Включена ли проверка подлинности веб-службы.

compute_type
str

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

created_time

После создания веб-службы.

azureml.core.Webservice.description

Описание объекта веб-службы.

azureml.core.Webservice.tags

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

azureml.core.Webservice.name

Имя веб-службы.

azureml.core.Webservice.properties

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

created_by
str

Пользователь, создавший веб-службу.

error
str

Если веб-служба не удалось развернуть, это будет содержать сообщение об ошибке для причины сбоя.

azureml.core.Webservice.state

Текущее состояние веб-службы.

updated_time

При последнем обновлении веб-службы.

azureml.core.Webservice.workspace

Рабочая область машинного обучения Azure, содержащая эту веб-службу.

token_auth_enabled

Включена ли проверка подлинности маркеров в веб-службе.

Методы

check_for_existing_webservice

Проверьте наличие веб-службы.

delete

Удалите эту веб-службу из связанной рабочей области.

Этот вызов функции не является асинхронным. Вызов выполняется до удаления ресурса. Возникает WebserviceException проблема при удалении модели из службы управления моделями.

deploy

Разверните веб-службу из нуля или нескольких Model объектов.

Эта функция будет регистрировать все файлы моделей, предоставленные и создавать изображение в процессе, все связанные с указанным Workspace. Используйте эту функцию, если у вас есть каталог моделей для развертывания, которые ранее не были зарегистрированы.

Результирующая веб-служба — это конечная точка в режиме реального времени, которая может использоваться для запросов вывода. Дополнительные сведения см. в разделе "Использование модели, развернутой как веб-служба".

deploy_from_image

Развертывание веб-службы из Image объекта.

Используйте эту функцию, если у вас уже есть объект Image, созданный для модели.

Результирующая веб-служба — это конечная точка в режиме реального времени, которая может использоваться для запросов вывода. Дополнительные сведения см. в разделе "Использование модели, развернутой как веб-служба".

deploy_from_model

Разверните веб-службу из нуля или нескольких Model объектов.

Эта функция аналогична deploy, но не регистрирует модели. Используйте эту функцию, если у вас уже зарегистрированы объекты модели. При этом будет создан образ в процессе, связанный с указанной рабочей областью.

Результирующая веб-служба — это конечная точка в режиме реального времени, которая может использоваться для запросов вывода. Дополнительные сведения см. в разделе "Использование модели, развернутой как веб-служба".

deploy_local_from_model

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

Требуется, чтобы Docker был установлен и настроен.

deserialize

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

Завершится ошибкой, если указанная рабочая область не является рабочей областью, в ней зарегистрирована веб-служба.

get_keys

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

get_logs

Получение журналов для этой веб-службы.

get_token

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

list

Вывод списка веб-служб, связанных с соответствующим Workspace.

Возвращаемые результаты можно фильтровать с помощью параметров.

regen_key

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

Вызывается WebserviceException , если key он не указан или не является первичным или вторичным.

run

Вызовите эту веб-службу с предоставленными входными данными.

Абстрактный метод, реализованный дочерними классами Webservice.

serialize

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

Используется deserialize для преобразования обратно в объект webservice.

update

Обновите параметры веб-службы.

Это абстрактный метод, реализованный дочерними классами Webservice. Возможные параметры для обновления зависят от дочернего типа веб-службы. Например, для веб-служб экземпляров контейнеров Azure см update . сведения о конкретных параметрах.

update_deployment_state

Обновите текущее состояние объекта в памяти.

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

wait_for_deployment

Автоматически опрашивание выполняющихся развертываний веб-служб.

Подождите, пока веб-служба достигнет состояния терминала. Вызовет WebserviceException исключение, если оно достигает состояния терминала, отличного от успешного выполнения, или превышает заданное время ожидания.

check_for_existing_webservice

Проверьте наличие веб-службы.

static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)

Параметры

Имя Описание
workspace
Обязательно
name
Обязательно
str
overwrite
Default value: False
request_func
<xref:function>

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

Default value: None
check_func
<xref:function>

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

Default value: None

Исключения

Тип Описание

delete

Удалите эту веб-службу из связанной рабочей области.

Этот вызов функции не является асинхронным. Вызов выполняется до удаления ресурса. Возникает WebserviceException проблема при удалении модели из службы управления моделями.

delete()

Исключения

Тип Описание

deploy

Разверните веб-службу из нуля или нескольких Model объектов.

Эта функция будет регистрировать все файлы моделей, предоставленные и создавать изображение в процессе, все связанные с указанным Workspace. Используйте эту функцию, если у вас есть каталог моделей для развертывания, которые ранее не были зарегистрированы.

Результирующая веб-служба — это конечная точка в режиме реального времени, которая может использоваться для запросов вывода. Дополнительные сведения см. в разделе "Использование модели, развернутой как веб-служба".

static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Параметры

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

Объект рабочей области для связывания веб-службы с.

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

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

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

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

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

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

deployment_config

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

Default value: None
deployment_target

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

Default value: None
overwrite

Перезаписать существующую службу, если служба уже существует с именем.

Default value: False

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

Тип Описание

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

Исключения

Тип Описание

deploy_from_image

Развертывание веб-службы из Image объекта.

Используйте эту функцию, если у вас уже есть объект Image, созданный для модели.

Результирующая веб-служба — это конечная точка в режиме реального времени, которая может использоваться для запросов вывода. Дополнительные сведения см. в разделе "Использование модели, развернутой как веб-служба".

static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)

Параметры

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

Объект рабочей области для связывания веб-службы с.

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

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

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

Объект Image для развертывания.

deployment_config

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

Default value: None
deployment_target

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

Default value: None
overwrite

Перезаписать существующую службу, если служба уже существует с именем.

Default value: False

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

Тип Описание

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

Исключения

Тип Описание

deploy_from_model

Разверните веб-службу из нуля или нескольких Model объектов.

Эта функция аналогична deploy, но не регистрирует модели. Используйте эту функцию, если у вас уже зарегистрированы объекты модели. При этом будет создан образ в процессе, связанный с указанной рабочей областью.

Результирующая веб-служба — это конечная точка в режиме реального времени, которая может использоваться для запросов вывода. Дополнительные сведения см. в разделе "Использование модели, развернутой как веб-служба".

static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Параметры

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

Объект рабочей области для связывания веб-службы с.

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

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

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

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

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

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

deployment_config

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

Default value: None
deployment_target

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

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

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

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

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

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

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

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

deployment_config

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

Default value: None
wait

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

Default value: False

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

Тип Описание

Исключения

Тип Описание

deserialize

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

Завершится ошибкой, если указанная рабочая область не является рабочей областью, в ней зарегистрирована веб-служба.

deserialize(workspace, webservice_payload)

Параметры

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

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

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

Объект рабочей области, в который регистрируется веб-служба.

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

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

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

Тип Описание

Представление веб-службы предоставленного объекта JSON.

get_keys

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

get_keys()

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

Тип Описание
(str, str)

Ключи проверки подлинности для этой веб-службы.

Исключения

Тип Описание

get_logs

Получение журналов для этой веб-службы.

get_logs(num_lines=5000, init=False)

Параметры

Имя Описание
num_lines
int

Максимальное количество строк журнала для получения.

Default value: 5000
init

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

Default value: False

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

Тип Описание
str

Журналы для этой веб-службы.

Исключения

Тип Описание

get_token

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

get_token()

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

Тип Описание

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

Исключения

Тип Описание

list

Вывод списка веб-служб, связанных с соответствующим 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
Обязательно

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

compute_type
str

Фильтруйте только определенные типы веб-служб. Параметры: ACI, AKS.

Default value: None
image_name
str

Список фильтров, чтобы включить только веб-службы, развернутые с определенным именем образа.

Default value: None
image_id
str

Список фильтров для включения только веб-служб, развернутых с определенным идентификатором образа.

Default value: None
model_name
str

Список фильтров для включения только веб-служб, развернутых с определенным именем модели.

Default value: None
model_id
str

Список фильтров, чтобы включить только веб-службы, развернутые с определенным идентификатором модели.

Default value: None
tags

Фильтруйте по указанному списку по ключу или [ключу, значению]. Пример. ['key', ['key2', 'key2 value']]

Default value: None
properties

Фильтруйте по указанному списку по ключу или [ключу, значению]. Пример. ['key', ['key2', 'key2 value']]

Default value: None
image_digest
str

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

Default value: None

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

Тип Описание

Отфильтрованный список веб-служб в предоставленной рабочей области.

Исключения

Тип Описание

regen_key

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

Вызывается WebserviceException , если key он не указан или не является первичным или вторичным.

regen_key(key, set_key=None)

Параметры

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

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

set_key
str

Указанное пользователем значение, позволяющее вручную указать значение ключа

Default value: None

Исключения

Тип Описание

run

Вызовите эту веб-службу с предоставленными входными данными.

Абстрактный метод, реализованный дочерними классами Webservice.

abstract run(input)

Параметры

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

Входные данные для вызова веб-службы. Это данные, которые модель машинного обучения ожидает в качестве входных данных для выполнения прогнозов.

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

Тип Описание

Результат вызова веб-службы. Это вернет прогнозы, выполняемые из модели машинного обучения.

Исключения

Тип Описание

serialize

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

Используется deserialize для преобразования обратно в объект webservice.

serialize()

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

Тип Описание

Представление JSON этой веб-службы.

update

Обновите параметры веб-службы.

Это абстрактный метод, реализованный дочерними классами Webservice. Возможные параметры для обновления зависят от дочернего типа веб-службы. Например, для веб-служб экземпляров контейнеров Azure см update . сведения о конкретных параметрах.

abstract update(*args)

Параметры

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

Значения для обновления.

Исключения

Тип Описание

update_deployment_state

Обновите текущее состояние объекта в памяти.

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

update_deployment_state()

wait_for_deployment

Автоматически опрашивание выполняющихся развертываний веб-служб.

Подождите, пока веб-служба достигнет состояния терминала. Вызовет WebserviceException исключение, если оно достигает состояния терминала, отличного от успешного выполнения, или превышает заданное время ожидания.

wait_for_deployment(show_output=False, timeout_sec=None)

Параметры

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

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

Default value: False
timeout_sec

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

Default value: None

Исключения

Тип Описание