Memecahkan masalah penerapan model

Selesai

Ada banyak elemen untuk penerapan layanan, termasuk model terlatih, konfigurasi lingkungan runtime, skrip penilaian, image container, dan host container. Memecahkan masalah penerapan yang gagal, atau kesalahan saat menggunakan layanan yang diterapkan dapat menjadi rumit.

Memeriksa status layanan

Sebagai langkah pemecahan masalah awal, Anda dapat memeriksa status layanan dengan memeriksa statusnya:

from azureml.core.webservice import AksWebservice

# Get the deployed service
service = AksWebservice(name='classifier-service', workspace=ws)

# Check its state
print(service.state)

Catatan

Untuk melihat status dari sebuah layanan, Anda harus menggunakan jenis layanan khusus komputasi (misalnya AksWebservice) dan bukan objek WebService generik.

Untuk layanan operasional, statusnya harus Sehat.

Meninjau log layanan

Jika sebuah layanan tidak sehat atau Anda mengalami kesalahan saat menggunakannya, Anda dapat meninjau log layanan:

print(service.get_logs())

Log mencakup informasi terperinci tentang penyediaan layanan, dan permintaan yang telah diproses; dan seringkali dapat memberikan wawasan tentang penyebab kesalahan yang tidak terduga.

Menyebarkan ke kontainer lokal

Kesalahan penyebaran dan runtime dapat lebih mudah didiagnosis dengan menyebarkan layanan sebagai kontainer di instans Docker lokal, seperti ini:

from azureml.core.webservice import LocalWebservice

deployment_config = LocalWebservice.deploy_configuration(port=8890)
service = Model.deploy(ws, 'test-svc', [model], inference_config, deployment_config)

Anda kemudian dapat menguji layanan yang disebarkan secara lokal menggunakan SDK:

print(service.run(input_data = json_data))

Anda kemudian dapat memecahkan masalah runtime dengan membuat perubahan pada file penilaian yang direferensikan dalam konfigurasi inferensi dan memuat ulang layanan tanpa menyebarkannya ulang (sesuatu yang hanya dapat Anda lakukan dengan layanan lokal):

service.reload()
print(service.run(input_data = json_data))