Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A:Estensione per Machine Learning dell'interfaccia della riga di comando di Azure v1
Python SDK azureml v1
Importante
Questo articolo fornisce informazioni sull'uso di Azure Machine Learning SDK v1. L'SDK v1 è deprecato a partire dal 31 marzo 2025 e il supporto per questo terminerà il 30 giugno 2026. È possibile installare e usare l'SDK v1 fino a tale data.
È consigliabile passare all'SDK v2 prima del 30 giugno 2026. Per altre informazioni sull'SDK v2, vedere Informazioni su Azure Machine Learning Python SDK v2 e informazioni di riferimento sull'SDK v2.
L'articolo contiene informazioni su come aggiornare un servizio Web distribuito con Azure Machine Learning.
Prerequisiti
Questo articolo presuppone che sia già stato distribuito un servizio Web con Azure Machine Learning. Per informazioni su come distribuire un servizio Web, seguire questa procedura.
I frammenti di codice in questo articolo presuppongono che la variabile
ws
sia già stata inizializzata nell'area di lavoro usando il costruttore Workflow() o caricando una configurazione salvata con Workspace.from_config(). Il frammento di codice seguente illustra come usare il costruttore:SI APPLICA A:
Python SDK azureml v1
from azureml.core import Workspace ws = Workspace(subscription_id="mysubscriptionid", resource_group="myresourcegroup", workspace_name="myworkspace")
Importante
Alcuni comandi dell'interfaccia della riga di comando (CLI) di Azure in questo articolo usano l'estensione azure-cli-ml
, o v1, per Azure Machine Learning. L'assistenza per l'estensione v1 terminerà il 30 settembre 2025. È possibile installare e usare l'estensione v1 fino a tale data.
Consigliamo di passare all'estensione ml
, o v2, prima del 30 settembre 2025. Per altre informazioni sull'estensione v2, vedere Estensione dell'interfaccia della riga di comando di Azure Machine Learning e Python SDK v2.
Aggiornare un servizio Web
Per aggiornare un servizio Web, usare il metodo update
. È possibile aggiornare il servizio Web per usare un nuovo modello, un nuovo script di immissione o nuove dipendenze che possono essere specificate nella configurazione di un'inferenza. Per altre informazioni, vedere la documentazione per Webservice.update.
Vedere Metodo di aggiornamento del servizio Azure Kubernetes.
Vedere Metodo di aggiornamento del servizio ACI.
Importante
Quando si crea una nuova versione di un modello, è necessario aggiornare manualmente ogni servizio che deve usarla.
Non è possibile usare l'SDK per aggiornare un servizio Web pubblicato dalla finestra di progettazione di Azure Machine Learning.
Importante
Il servizio Azure Kubernetes usa il driver Blobfuse FlexVolume per le versioni <=1.16 e il driver CSI BLOB per le versioni >=1.17.
Pertanto, è importante eseguire nuovamente la distribuzione del servizio Web o aggiornarlo dopo un aggiornamento del cluster per eseguire la distribuzione al metodo blobfuse corretto per la versione del cluster.
Nota
Quando un'operazione è già in corso, qualsiasi nuova operazione nello stesso servizio Web causerà un errore di conflitto 409. Ad esempio, se l'operazione di creazione o aggiornamento del servizio Web è in corso e si attiva una nuova operazione di eliminazione, verrà generato un errore.
Uso dell'SDK
Il codice seguente illustra come usare l'SDK per aggiornare il modello, l'ambiente e lo script di immissione per un servizio Web:
SI APPLICA A: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())
Uso dell'interfaccia della riga di comando
È anche possibile aggiornare un servizio Web usando l'interfaccia della riga di comando di ML. L'esempio seguente illustra come registrare un nuovo modello e quindi aggiornare un servizio Web per l'uso del nuovo modello:
SI APPLICA A:Estensione ML dell'interfaccia della riga di comando di Azure 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
Suggerimento
In questo esempio viene usato un documento JSON per passare le informazioni del modello dal comando di registrazione al comando di aggiornamento.
Per aggiornare il servizio in modo che usi un nuovo script di immissione o un nuovo ambiente, creare un file di configurazione dell'inferenza e specificarlo con il parametro ic
.
Per altre informazioni, vedere la documentazione relativa all'aggiornamento del servizio az ml.
Passaggi successivi
- Risolvere una distribuzione non riuscita
- Creare applicazioni client per utilizzare i servizi Web
- Come distribuire un modello con un'immagine Docker personalizzata
- Usare TLS per proteggere un servizio Web tramite Azure Machine Learning
- Monitorare i modelli di Azure Machine Learning con Application Insights
- Raccogliere i dati per i modelli nell'ambiente di produzione
- Creare trigger e avvisi di eventi per le distribuzioni dei modelli