Webservice Класс
Определяет базовые функции для развертывания моделей в качестве конечных точек веб-службы в Машинном обучении Azure.
Конструктор WebService используется для получения облачного представления объекта WebService, связанного с указанным объектом Workspace. Возвращает экземпляр дочернего класса, соответствующий конкретному типу полученного объекта WebService. Класс WebService позволяет развертывать модели машинного обучения из объекта Model или Image.
Дополнительные сведения о работе с классом WebService см. в статье Развертывание моделей в Машинном обучении Azure.
Инициализируйте экземпляр Webservice.
Конструктор Webservice извлекает облачное представление объекта Webservice, связанного с предоставленной рабочей областью. Он вернет экземпляр дочернего класса, соответствующий конкретному типу полученного объекта Webservice.
- Наследование
-
Webservice
Конструктор
Webservice(workspace, name)
Параметры
Комментарии
В следующем примере показан рекомендуемый шаблон развертывания, в котором сначала создается объект конфигурации с методом 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
- 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. Если |
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
- request_func
- <xref:function>
Функция для запроса службы для проверки существования имени службы
- check_func
- <xref:function>
Функция для проверки содержимого ответа 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)
Параметры
- name
- str
Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.
Список путей к файлам модели или папке на диске. Может быть пустым списком.
- image_config
- ImageConfig
Объект ImageConfig, используемый для определения требуемых свойств объекта Image.
- deployment_config
- WebserviceDeploymentConfiguration
Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте.
- deployment_target
- ComputeTarget
ComputeTarget, где будет развернута веб-служба. Так как с Экземплярами контейнеров Azure не связан объект ComputeTarget, оставьте для этого параметра значение None (Нет) для развертывания в Экземплярах контейнеров Azure.
- overwrite
- bool
Если служба с таким именем уже существует, существующая служба будет перезаписана.
Возвращаемое значение
Объект веб-службы, соответствующий развернутой веб-службе.
Возвращаемый тип
Исключения
deploy_from_image
Развертывание WebService из объекта Image.
Используйте эту функцию, если для модели уже создан объект Image.
Итоговый объект WebService — это конечная точка для прогнозирования в реальном времени, которую можно использовать для запросов на вывод. Дополнительные сведения см. в статье Использование модели, развернутой в качестве веб-службы.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Параметры
- name
- str
Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.
- deployment_config
- WebserviceDeploymentConfiguration
Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте.
- deployment_target
- ComputeTarget
ComputeTarget, где будет развернута веб-служба. Так как с Экземплярами контейнеров Azure не связан объект ComputeTarget, оставьте для этого параметра значение None (Нет) для развертывания в Экземплярах контейнеров Azure.
- overwrite
- bool
Если служба с таким именем уже существует, существующая служба будет перезаписана.
Возвращаемое значение
Объект веб-службы, соответствующий развернутой веб-службе.
Возвращаемый тип
Исключения
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)
Параметры
- name
- str
Имя для предоставления развернутой службы. Должно быть уникальным для соответствующей рабочей области, должно состоять только из строчных букв, цифр и дефисов, начинаться с буквы и содержать от 3 до 32 символов.
- image_config
- ImageConfig
Объект ImageConfig, используемый для определения требуемых свойств объекта Image.
- deployment_config
- WebserviceDeploymentConfiguration
Значение WebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации, основанный на нужном целевом объекте.
- deployment_target
- ComputeTarget
ComputeTarget, где будет развернута веб-служба. Так как у ACI нет связанного ComputeTarget, оставьте для этого параметра значение None, чтобы выполнить развертывание в ACI.
- overwrite
- bool
Если служба с таким именем уже существует, существующая служба будет перезаписана.
Возвращаемое значение
Объект веб-службы, соответствующий развернутой веб-службе.
Возвращаемый тип
Исключения
deploy_local_from_model
Сборка и развертывание LocalWebservice для тестирования.
Требуется установка и настройка Docker.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Параметры
- name
- str
Имя для предоставления развернутой службы. Должно быть уникальным на локальном компьютере.
- image_config
- ImageConfig
Объект ImageConfig, используемый для определения требуемых свойств образа службы.
- deployment_config
- LocalWebserviceDeploymentConfiguration
Значение LocalWebserviceDeploymentConfiguration, используемое для настройки веб-службы. Если оно не указано, будет использоваться пустой объект конфигурации.
- wait
- bool
Следует ли ожидать, пока контейнер Docker объекта LocalWebservice получит состояние работоспособности. Создает исключение, если контейнер аварийно завершает работу. Значение по умолчанию — False.
Возвращаемый тип
Исключения
deserialize
Преобразование объекта JSON ответа службы Управления моделями в объект WebService.
Метод завершается ошибкой, если указанная рабочая область не является рабочей областью, в которой зарегистрирован объект WebService.
deserialize(workspace, webservice_payload)
Параметры
- cls
Указывает, что это метод класса.
- workspace
- Workspace
Объект рабочей области, в котором зарегистрирован объект WebService.
Возвращаемое значение
Представление указанного объекта JSON как объекта WebService.
Возвращаемый тип
Исключения
get_keys
Получение ключей проверки подлинности для этого объекта WebService.
get_keys()
Возвращаемое значение
Ключи проверки подлинности для этого объекта WebService.
Возвращаемый тип
Исключения
get_logs
Получение журналов для этого объекта WebService.
get_logs(num_lines=5000, init=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)
Параметры
- compute_type
- str
Применение фильтра для отображения списка только конкретных типов WebService. Возможные значения: ACI, AKS.
- image_name
- str
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного имени образа.
- image_id
- str
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного идентификатора образа.
- model_name
- str
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного имени модели.
- model_id
- str
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного идентификатора модели.
- tags
- list
Фильтрация осуществляется по указанному списку по ключу или по паре [ключ, значение]. Например: ["ключ", ["ключ2", "ключ2 значение"]]
- properties
- list
Фильтрация осуществляется по указанному списку по ключу или по паре [ключ, значение]. Например: ["ключ", ["ключ2", "ключ2 значение"]]
- image_digest
- str
Фильтрация списка для включения только тех объектов WebService, которые были развернуты с использованием указанного хэша образа.
Возвращаемое значение
Отфильтрованный список WebService в указанном объекте Workspace.
Возвращаемый тип
Исключения
regen_key
Повторное создание одного из ключей объекта WebService: Primary или Secondary.
Если key
не указан или не является Primary или Secondary, выдается WebserviceException.
regen_key(key, set_key=None)
Параметры
- set_key
- str
Заданное пользователем значение, допускающее указание значения ключа вручную.
Исключения
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
Указывает, следует ли отображать более подробные выходные данные.
- timeout_sec
- float
Создание исключения, если развертывание превышает заданное время ожидания.
Исключения
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по