Обновление развернутой веб-службы (версия 1)
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение Машинного обучения для Azure CLI версии 1пакет SDK для Python azureml версии 1
В этой статье вы узнаете, как обновить веб-службу, которая была ранее развернута в службе "Машинное обучение Azure".
Необходимые компоненты
В этой статье предполагается, что вы уже развернули веб-службу в машинном обучении Azure. Если вас интересует, как развернуть новую веб-службу, выполните эти инструкции.
В этой статье предполагается, что во фрагментах кода
ws
переменная уже была инициализирована в рабочей области с помощью конструктора рабочего процесса () или при загрузке сохраненной конфигурации с помощью Workspace.from_config (). В следующем фрагменте кода показано использование конструктора:ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
from azureml.core import Workspace ws = Workspace(subscription_id="mysubscriptionid", resource_group="myresourcegroup", workspace_name="myworkspace")
Внимание
Для использования некоторых команд Azure CLI, приведенных в этой статье, используйте расширение azure-cli-ml
(версия 1) для Машинного обучения Azure. Поддержка расширения версии 1 будет прекращена 30 сентября 2025 г. Вы можете установить и использовать расширение версии 1 до этой даты.
Рекомендуется перейти на расширение ml
(версия 2) до 30 сентября 2025 г. Дополнительные сведения о расширении версии 2 см. на странице расширения CLI для Azure ML и пакета SDK для Python версии 2.
Обновление веб-службы
Чтобы обновить веб-службу, используйте метод update
. Вы можете обновить веб-службу, чтобы назначить для нее новую модель, новый начальный сценарий или новые зависимости, которые можно указать в конфигурации вывода. Дополнительные сведения см. в документации по методу Webservice.update.
См. также статью о методе обновления службы AKS.
См. также статью о методе обновления службы ACI.
Внимание
При создании новой версии модели необходимо вручную обновить каждую службу, которая будет ее использовать.
Вы не сможете применить пакет SDK для обновления веб-службы, опубликованной из конструктора Машинного обучения Azure.
Внимание
Служба Azure Kubernetes использует драйвер Blobfuse FlexVolume для версий <= 1.16 и Blob-драйвер CSI для версий >= 1.17.
Следовательно, важно повторно развернуть или обновить веб-службу после обновления кластера, чтобы выполнить развертывание для правильного метода blobfuse для данной версии кластера.
Примечание.
Если операция уже выполняется, любая новая операция с той же веб-службой будет возвращать ошибку конфликта 409. Например, если выполняется операция создания или обновления веб-службы, то при активации новой операции удаления возникает ошибка.
Использование пакета SDK
В следующем коде показано, как с помощью пакета SDK обновить модель, среду и начальный сценарий для веб-службы:
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
from azureml.core import Environment
from azureml.core.webservice import Webservice
from azureml.core.model import Model, InferenceConfig
# Register new model.
new_model = Model.register(model_path="outputs/sklearn_mnist_model.pkl",
model_name="sklearn_mnist",
tags={"key": "0.1"},
description="test",
workspace=ws)
# Use version 3 of the environment.
deploy_env = Environment.get(workspace=ws,name="myenv",version="3")
inference_config = InferenceConfig(entry_script="score.py",
environment=deploy_env)
service_name = 'myservice'
# Retrieve existing service.
service = Webservice(name=service_name, workspace=ws)
# Update to new model(s).
service.update(models=[new_model], inference_config=inference_config)
service.wait_for_deployment(show_output=True)
print(service.state)
print(service.get_logs())
Использование интерфейса командной строки
Вы также можете обновить веб-службу с помощью интерфейса командной строки Машинного обучения. В следующем примере демонстрируется регистрация новой модели и обновление веб-службы для использования новой модели:
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 1
az ml model register -n sklearn_mnist --asset-path outputs/sklearn_mnist_model.pkl --experiment-name myexperiment --output-metadata-file modelinfo.json
az ml service update -n myservice --model-metadata-file modelinfo.json
Совет
В этом примере применяется документ JSON для передачи сведений о модели из команды регистрации в команду обновления.
Чтобы обновить службу для использования нового начального сценария или среды, создайте файл конфигурации вывода и передайте его в параметре ic
.
Дополнительные сведения см. в документации по команде az ml service update.
Следующие шаги
- Устранение неполадок при развертывании
- Создание клиентских приложений для использования веб-служб
- Развертывание модели с помощью пользовательского образа Docker
- Использование TLS для защиты веб-службы с помощью Машинного обучения Azure.
- Мониторинг моделей машинного обучения в Azure с помощью Application Insights
- Сбор данных для моделей в рабочей среде
- Создание предупреждений и триггеров событий для развертываний моделей