Sdílet prostřednictvím


Aktualizace nasazené webové služby (v1)

PLATÍ PRO:Rozšíření Azure CLI ml v1Python SDK azureml v1

V tomto článku se dozvíte, jak aktualizovat webovou službu nasazenou pomocí služby Azure Machine Learning.

Požadavky

  • Tento článek předpokládá, že už máte nasazenou webovou službu se službou Azure Machine Learning. Pokud potřebujete zjistit, jak nasadit webovou službu, postupujte takto.

  • Fragmenty kódu v tomto článku předpokládají, že ws proměnná již byla inicializována do vašeho pracovního prostoru pomocí konstruktoru Workflow() nebo načtení uložené konfigurace pomocí Workspace.from_config(). Následující fragment kódu ukazuje použití konstruktoru:

    PLATÍ PRO: Python SDK azureml v1

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

Důležité

Některé příkazy Azure CLI v tomto článku používají azure-cli-mlrozšíření (nebo v1) pro Azure Machine Learning. Podpora rozšíření v1 skončí 30. září 2025. Do tohoto data budete moct nainstalovat a používat rozšíření v1.

Doporučujeme přejít na mlrozšíření (nebo v2) před 30. zářím 2025. Další informace o rozšíření v2 najdete v tématu Rozšíření Azure ML CLI a Python SDK v2.

Aktualizace webové služby

Pokud chcete aktualizovat webovou službu, použijte metodu update . Webovou službu můžete aktualizovat tak, aby používala nový model, nový vstupní skript nebo nové závislosti, které lze zadat v konfiguraci odvozování. Další informace najdete v dokumentaci k webservice.update.

Viz metoda aktualizace služby AKS.

Viz metoda aktualizace služby ACI.

Důležité

Když vytvoříte novou verzi modelu, musíte ručně aktualizovat každou službu, kterou chcete použít.

Sadu SDK nemůžete použít k aktualizaci webové služby publikované z návrháře služby Azure Machine Learning.

Důležité

Azure Kubernetes Service používá ovladač Blobfuse FlexVolume pro verze <=1.16 a ovladač CSI objektů blob pro verze >=1.17.

Proto je důležité webovou službu po upgradu clusteru znovu nasadit nebo aktualizovat, aby byla nasazena správná metoda blobfuse pro verzi clusteru.

Poznámka:

Pokud už operace probíhá, všechny nové operace ve stejné webové službě budou reagovat s chybou 409 konfliktu. Pokud například probíhá operace vytvoření nebo aktualizace webové služby a pokud aktivujete novou operaci odstranění, dojde k chybě.

Použití sady SDK

Následující kód ukazuje, jak pomocí sady SDK aktualizovat model, prostředí a vstupní skript pro webovou službu:

PLATÍ PRO: 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())

Použití rozhraní příkazového řádku

Webovou službu můžete také aktualizovat pomocí rozhraní příkazového řádku ML. Následující příklad ukazuje registraci nového modelu a aktualizaci webové služby tak, aby používala nový model:

PLATÍ PRO: Rozšíření Azure CLI ml 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

V tomto příkladu se dokument JSON používá k předání informací o modelu z registračního příkazu do příkazu update.

Pokud chcete službu aktualizovat tak, aby používala nový vstupní skript nebo prostředí, vytvořte konfigurační soubor odvozování a zadejte ho pomocí parametru ic .

Další informace najdete v dokumentaci k az ml service update .

Další kroky