author | ms.service | ms.topic | ms.date | ms.author |
---|---|---|---|---|
Blackmist |
machine-learning |
include |
03/16/2020 |
larryfr |
To update a web service, use the update
method. You can update the web service to use a new model, a new entry script, or new dependencies that can be specified in an inference configuration. For more information, see the documentation for Webservice.update.
Important
When you create a new version of a model, you must manually update each service that you want to use it.
You can not use the SDK to update a web service published from the Azure Machine Learning designer.
Using the SDK
The following code shows how to use the SDK to update the model, environment, and entry script for a web service:
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)
print(service.state)
print(service.get_logs())
Using the CLI
You can also update a web service by using the ML CLI. The following example demonstrates registering a new model and then updating a web service to use the new model:
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
Tip
In this example, a JSON document is used to pass the model information from the registration command into the update command.
To update the service to use a new entry script or environment, create an inference configuration file and specify it with the ic
parameter.
For more information, see the az ml service update documentation.