Udostępnij za pośrednictwem


Aktualizowanie wdrożonej usługi internetowej (wersja 1)

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure ml w wersji 1zestawu SDK języka Python azureml v1

Z tego artykułu dowiesz się, jak zaktualizować usługę internetową wdrożona za pomocą usługi Azure Machine Learning.

Wymagania wstępne

  • W tym artykule założono, że usługa internetowa została już wdrożona za pomocą usługi Azure Machine Learning. Jeśli musisz dowiedzieć się, jak wdrożyć usługę internetową, wykonaj następujące kroki.

  • Fragmenty kodu w tym artykule zakładają, że ws zmienna została już zainicjowana w obszarze roboczym przy użyciu konstruktora Workflow() lub załadowania zapisanej konfiguracji za pomocą Workspace.from_config(). Poniższy fragment kodu pokazuje, jak używać konstruktora:

    DOTYCZY: Zestaw SDK języka Python w wersji 1

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

Ważne

Niektóre polecenia interfejsu wiersza polecenia platformy Azure w tym artykule używają azure-cli-mlrozszerzenia , lub w wersji 1 dla usługi Azure Machine Learning. Obsługa rozszerzenia w wersji 1 zakończy się 30 września 2025 r. Możesz zainstalować rozszerzenie v1 i używać go do tej daty.

Zalecamy przejście do mlrozszerzenia , lub w wersji 2 przed 30 września 2025 r. Aby uzyskać więcej informacji na temat rozszerzenia w wersji 2, zobacz Rozszerzenie interfejsu wiersza polecenia usługi Azure Machine Learning i zestaw Python SDK w wersji 2.

Aktualizowanie usługi internetowej

Aby zaktualizować usługę internetową, użyj update metody . Usługę internetową można zaktualizować tak, aby korzystała z nowego modelu, nowego skryptu wejścia lub nowych zależności, które można określić w konfiguracji wnioskowania. Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą pliku Webservice.update.

Zobacz AKS Service Update Method (Metoda aktualizacji usługi AKS).

Zobacz ACI Service Update Method (Metoda aktualizacji usługi ACI).

Ważne

Podczas tworzenia nowej wersji modelu należy ręcznie zaktualizować każdą usługę, której chcesz użyć.

Nie można użyć zestawu SDK do zaktualizowania usługi internetowej opublikowanej w projektancie usługi Azure Machine Learning.

Ważne

Usługa Azure Kubernetes Service używa sterownika Blobfuse FlexVolume dla wersji =1.16 i sterownika CSI obiektów blob dla wersji <>=1.17.

W związku z tym należy ponownie wdrożyć lub zaktualizować usługę internetową po uaktualnieniu klastra, aby wdrożyć metodę blobfuse dla wersji klastra.

Uwaga

Gdy operacja jest już w toku, każda nowa operacja w tej samej usłudze internetowej odpowie z powodu błędu konfliktu 409. Jeśli na przykład operacja tworzenia lub aktualizowania usługi internetowej jest w toku, a po wyzwoleniu nowej operacji Usuwania zostanie zgłoszony błąd.

Korzystanie z zestawu SDK

Poniższy kod pokazuje, jak za pomocą zestawu SDK zaktualizować model, środowisko i skrypt wejścia dla usługi internetowej:

DOTYCZY: Zestaw SDK języka Python w wersji 1

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

Korzystanie z interfejsu wiersza polecenia

Usługę internetową można również zaktualizować przy użyciu interfejsu wiersza polecenia uczenia maszynowego. W poniższym przykładzie pokazano rejestrowanie nowego modelu, a następnie aktualizowanie usługi internetowej w celu użycia nowego modelu:

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 1

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

Napiwek

W tym przykładzie dokument JSON służy do przekazywania informacji o modelu z polecenia rejestracji do polecenia aktualizacji.

Aby zaktualizować usługę do używania nowego skryptu wejścia lub środowiska, utwórz plik konfiguracji wnioskowania i określ go za pomocą parametru ic .

Aby uzyskać więcej informacji, zobacz dokumentację az ml service update .

Następne kroki