Share via


Een geïmplementeerde webservice bijwerken (v1)

VAN TOEPASSING OP:Azure CLI ml-extensie v1Python SDK azureml v1

In dit artikel leert u hoe u een webservice bijwerkt die is geïmplementeerd met Azure Machine Learning.

Vereisten

  • In dit artikel wordt ervan uitgegaan dat u al een webservice hebt geïmplementeerd met Azure Machine Learning. Als u wilt weten hoe u een webservice implementeert, volgt u deze stappen.

  • Voor de codefragmenten in dit artikel wordt ervan uitgegaan dat de ws variabele al is geïnitialiseerd in uw werkruimte met behulp van de constructor Workflow() of door een opgeslagen configuratie te laden met Workspace.from_config(). In het volgende codefragment ziet u hoe u de constructor gebruikt:

    VAN TOEPASSING OP:Python SDK azureml v1

    from azureml.core import Workspace
    ws = Workspace(subscription_id="mysubscriptionid",
                   resource_group="myresourcegroup",
                   workspace_name="myworkspace")
    

Belangrijk

Sommige Azure CLI-opdrachten in dit artikel maken gebruik van de azure-cli-mlextensie , of v1, voor Azure Machine Learning. Ondersteuning voor de v1-extensie eindigt op 30 september 2025. U kunt de v1-extensie tot die datum installeren en gebruiken.

Het is raadzaam om vóór 30 september 2025 over te stappen naar de mlextensie , of v2. Zie Azure ML CLI-extensie en Python SDK v2 voor meer informatie over de v2-extensie.

Webservice bijwerken

Gebruik de update methode om een webservice bij te werken. U kunt de webservice bijwerken om een nieuw model, een nieuw invoerscript of nieuwe afhankelijkheden te gebruiken die kunnen worden opgegeven in een deductieconfiguratie. Zie de documentatie voor Webservice.update voor meer informatie.

Zie AKS-service-updatemethode.

Zie ACI-service-updatemethode.

Belangrijk

Wanneer u een nieuwe versie van een model maakt, moet u elke service die u wilt gebruiken, handmatig bijwerken.

U kunt de SDK niet gebruiken om een webservice bij te werken die is gepubliceerd vanuit de Azure Machine Learning-ontwerpfunctie.

Belangrijk

Azure Kubernetes Service gebruikt het Blobfuse FlexVolume-stuurprogramma voor de versies <=1.16 en het Blob CSI-stuurprogramma voor de versies >=1.17.

Daarom is het belangrijk om de webservice na de clusterupgrade opnieuw te implementeren of bij te werken om de juiste blobfuse-methode voor de clusterversie te implementeren.

Notitie

Wanneer een bewerking al wordt uitgevoerd, reageert elke nieuwe bewerking op dezelfde webservice met een conflictfout 409. Als er bijvoorbeeld een webservicebewerking wordt gemaakt of bijgewerkt en u een nieuwe verwijderbewerking activeert, treedt er een fout op.

De SDK gebruiken

De volgende code laat zien hoe u de SDK gebruikt om het model, de omgeving en het invoerscript voor een webservice bij te werken:

VAN TOEPASSING OP:Python SDK azureml v1

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())

De CLI gebruiken

U kunt een webservice ook bijwerken met behulp van de ML CLI. In het volgende voorbeeld ziet u hoe u een nieuw model registreert en vervolgens een webservice bijwerkt om het nieuwe model te gebruiken:

VAN TOEPASSING OP:Azure CLI ml-extensie v1

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 dit voorbeeld wordt een JSON-document gebruikt om de modelgegevens van de registratieopdracht door te geven aan de opdracht bijwerken.

Als u de service wilt bijwerken voor het gebruik van een nieuw invoerscript of een nieuwe omgeving, maakt u een deductieconfiguratiebestand en geeft u dit op met de ic parameter .

Zie de documentatie voor az ml service update voor meer informatie.

Volgende stappen