Delen 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.

  • In de codefragmenten in dit artikel wordt ervan uitgegaan dat de ws variabele al is geïnitialiseerd voor uw werkruimte met behulp van de workflow() constructor of het laden van een opgeslagen configuratie met Workspace.from_config(). Het volgende codefragment laat zien 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 gebruiken 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.

U wordt aangeraden vóór 30 september 2025 over te stappen op de mlextensie of v2. Zie de Azure ML CLI-extensie en Python SDK v2 voor meer informatie over de v2-extensie.

Webservice bijwerken

Als u een webservice wilt bijwerken, gebruikt u de update methode. U kunt de webservice bijwerken voor het gebruik van een nieuw model, een nieuw invoerscript of nieuwe afhankelijkheden die kunnen worden opgegeven in een deductieconfiguratie. Zie de documentatie voor Webservice.update voor meer informatie.

Zie de methode voor het bijwerken van de AKS-service.

Zie de methode voor het bijwerken van de ACI-service.

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 maakt gebruik van 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 blobfuse-methode voor de clusterversie te corrigeren.

Notitie

Wanneer er al een bewerking wordt uitgevoerd, reageert elke nieuwe bewerking op dezelfde webservice met een conflictfout van 409. Als er bijvoorbeeld een webservicebewerking wordt gemaakt of bijgewerkt en als 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 ook een webservice 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 updateopdracht.

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

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

Volgende stappen