Aracılığıyla paylaş


Dağıtılan bir web hizmetini güncelleştirme (v1)

ŞUNLAR IÇIN GEÇERLIDIR:Azure CLI ml uzantısı v1Python SDK azureml v1

Bu makalede, Azure Machine Learning ile dağıtılan bir web hizmetini güncelleştirmeyi öğreneceksiniz.

Önkoşullar

  • Bu makalede, Azure Machine Learning ile zaten bir web hizmeti dağıtmış olduğunuz varsayılır. Web hizmeti dağıtmayı öğrenmeniz gerekiyorsa aşağıdaki adımları izleyin.

  • Bu makaledeki kod parçacıklarında, değişkeninws Workflow() oluşturucu kullanılarak veya Workspace.from_config() ile kaydedilmiş bir yapılandırma yüklenerek çalışma alanınızda zaten başlatıldığı varsayılır. Aşağıdaki kod parçacığında oluşturucunun nasıl kullanılacağı gösterilmektedir:

    ŞUNLAR IÇIN GEÇERLIDIR:Python SDK azureml v1

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

Önemli

Bu makaledeki Azure CLI komutlarından bazıları Azure Machine Learning için uzantısını veya v1'i kullanır azure-cli-ml. v1 uzantısı desteği 30 Eylül 2025'te sona erecektir. Bu tarihe kadar v1 uzantısını yükleyip kullanabilirsiniz.

30 Eylül 2025'e mlkadar , veya v2 uzantısına geçmenizi öneririz. v2 uzantısı hakkında daha fazla bilgi için bkz. Azure ML CLI uzantısı ve Python SDK v2.

Web hizmetini güncelleştirme

Bir web hizmetini güncelleştirmek için yöntemini kullanın update . Web hizmetini yeni bir model, yeni bir giriş betiği veya çıkarım yapılandırmasında belirtilebilen yeni bağımlılıklar kullanacak şekilde güncelleştirebilirsiniz. Daha fazla bilgi için Webservice.update belgelerine bakın.

Bkz . AKS Hizmeti Güncelleştirme Yöntemi.

Bkz . ACI Hizmet Güncelleştirme Yöntemi.

Önemli

Modelin yeni bir sürümünü oluşturduğunuzda, kullanmak istediğiniz her hizmeti el ile güncelleştirmeniz gerekir.

Azure Machine Learning tasarımcısından yayımlanan bir web hizmetini güncelleştirmek için SDK'yi kullanamazsınız.

Önemli

Azure Kubernetes Service, =1.16 sürümleri <için Blobfuse FlexVolume sürücüsünü ve =1.17 sürümleri >için Blob CSI sürücüsünü kullanır.

Bu nedenle, küme sürümü için blobfuse yöntemini düzeltmek üzere dağıtmak üzere küme yükseltmesi sonrasında web hizmetini yeniden dağıtmak veya güncelleştirmek önemlidir.

Not

Bir işlem zaten devam ederken, aynı web hizmetindeki tüm yeni işlemler 409 çakışma hatasıyla yanıt verir. Örneğin, web hizmeti oluşturma veya güncelleştirme işlemi devam ediyorsa ve yeni bir Delete işlemi tetiklerseniz hata oluşturur.

SDK’yı kullanarak

Aşağıdaki kod, SDK'yı kullanarak bir web hizmetinin modelini, ortamını ve giriş betiğini nasıl güncelleştireceklerini gösterir:

ŞUNLAR IÇIN GEÇERLIDIR: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())

CLI'yi kullanma

Ml CLI'yi kullanarak bir web hizmetini de güncelleştirebilirsiniz. Aşağıdaki örnekte yeni modeli kaydetme ve ardından yeni modeli kullanmak üzere bir web hizmetini güncelleştirme işlemleri gösterilmektedir:

ŞUNLAR IÇIN GEÇERLIDIR:Azure CLI ml uzantısı 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

İpucu

Bu örnekte, kayıt komutundaki model bilgilerini güncelleştirme komutuna geçirmek için bir JSON belgesi kullanılır.

Hizmeti yeni bir giriş betiği veya ortamı kullanacak şekilde güncelleştirmek için bir çıkarım yapılandırma dosyası oluşturun ve parametresiyle ic belirtin.

Daha fazla bilgi için az ml service update belgelerine bakın.

Sonraki adımlar