Memperbarui layanan web yang disebarkan

Dalam artikel ini, Anda mempelajari cara memperbarui layanan web yang disebarkan dengan Azure Machine Learning.

Prasyarat

Tutorial ini mengasumsikan Anda telah menyebarkan layanan web dengan Azure Machine Learning. Jika Anda perlu mempelajari cara menggunakan layanan web, ikuti langkah-langkah ini.

Perbarui layanan web

Untuk memperbarui layanan web, gunakan metode update. Anda dapat memperbarui layanan web untuk menggunakan model baru, skrip entri baru, atau dependensi baru yang dapat ditentukan dalam konfigurasi inferensi. Untuk mengetahui informasi selengkapnya, lihat dokumentasi untuk Webservice.update.

Lihat Metode Pembaruan Layanan AKS.

Lihat Metode Pembaruan Layanan ACI.

Penting

Saat membuat versi model baru, Anda harus memperbarui setiap layanan yang ingin digunakan secara manual.

Anda tidak dapat menggunakan SDK untuk memperbarui layanan web yang diterbitkan dari perancang Azure Machine Learning.

Penting

Azure Kubernetes Service menggunakan driver Blobfuse FlexVolume untuk versi <=1.16 dan driver Blob CSI untuk versi >=1.17.

Oleh karena itu, penting untuk menyebarkan kembali atau memperbarui layanan web setelah peningkatan kluster untuk menyebarkan untuk memperbaiki metode blus untuk versi kluster.

Catatan

Ketika operasi sudah berlangsung, setiap operasi baru pada layanan web yang sama akan merespons dengan 409 kesalahan konflik. Misalnya, Jika membuat atau memperbarui operasi layanan web sedang berlangsung dan jika Anda memicu operasi Hapus baru, itu akan membuang kesalahan.

Menggunakan SDK

Kode berikut menunjukkan cara menggunakan SDK untuk memperbarui model, lingkungan, dan skrip entri untuk layanan web:

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

Menggunakan CLI

Anda juga dapat memperbarui layanan web menggunakan ML CLI. Contoh berikut menunjukkan pendaftaran model baru, lalu memperbarui layanan web untuk menggunakan model baru:

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

Dalam contoh ini, dokumen JSON digunakan untuk meneruskan informasi model dari perintah pendaftaran ke perintah pembaruan.

Untuk memperbarui layanan agar menggunakan skrip atau lingkungan entri baru, buat file konfigurasi inferensi dan tentukan dengan parameter ic.

Untuk mengetahui informasi selengkapnya, lihat dokumentasi pembaruan layanan az ml.

Langkah berikutnya