Webservice Kelas

Menentukan fungsionalitas dasar untuk menyebarkan model sebagai titik akhir layanan web di Azure Machine Learning.

Konstruktor layanan web digunakan untuk mengambil representasi cloud dari objek Layanan web yang diasosiasikan dengan Ruang kerja yang disediakan. Mengembalikan instans kelas turunan yang sesuai dengan jenis tertentu dari objek Layanan web yang diambil. Kelas Layanan web memungkinkan untuk menyebarkan model pembelajaran mesin dari objek Model atau Image.

Untuk informasi selengkapnya tentang bekerja dengan Layanan Web, lihat Model penyebaran dengan Azure Machine Learning.

Menginisialisasi instans Webservice.

Konstruktor Webservice mengambil representasi cloud dari objek Webservice yang terkait dengan ruang kerja yang disediakan. Ini akan mengembalikan instans kelas anak yang sesuai dengan jenis tertentu dari objek Webservice yang diambil.

Warisan
Webservice

Konstruktor

Webservice(workspace, name)

Parameter

workspace
Workspace
Diperlukan

Objek ruang kerja yang berisi objek Layanan Web yang akan diambil.

name
str
Diperlukan

Nama objek Layanan Web yang akan diambil.

workspace
Workspace
Diperlukan

Objek ruang kerja yang berisi objek Layanan Web yang akan diambil.

name
str
Diperlukan

Nama objek Layanan Web yang akan diambil.

Keterangan

Sampel berikut menunjukkan pola penyebaran yang disarankan tempat Anda pertama kali membuat objek konfigurasi dengan metode deploy_configuration dari kelas turunan Layanan web (dalam hal ini AksWebservice) dan kemudian menggunakan konfigurasi dengan metode deploy dari kelas Model.


   # Set the web service configuration (using default here)
   aks_config = AksWebservice.deploy_configuration()

   # # Enable token auth and disable (key) auth on the webservice
   # aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)

Sampel lengkap tersedia dari https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

Sampel berikut menunjukkan cara menemukan AciWebservice yang ada di ruang kerja dan menghapusnya jika ada sehingga nama dapat digunakan kembali.


   from azureml.core.model import InferenceConfig
   from azureml.core.webservice import AciWebservice


   service_name = 'my-custom-env-service'

   inference_config = InferenceConfig(entry_script='score.py', environment=environment)
   aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)

   service = Model.deploy(workspace=ws,
                          name=service_name,
                          models=[model],
                          inference_config=inference_config,
                          deployment_config=aci_config,
                          overwrite=True)
   service.wait_for_deployment(show_output=True)

Ada sejumlah cara untuk menyebarkan model sebagai layanan web, termasuk dengan:

  • Metode deploy dari Model untuk model yang sudah terdaftar di ruang kerja.

  • Metode deploy_from_image dari Webservice untuk gambar yang sudah dibuat dari model.

  • Metode deploy_from_model dari Webservice untuk model yang sudah terdaftar di ruang kerja. Metode ini akan membuat sebuah gambar.

  • deploymetode dari Webservice, yang akan mendaftarkan model dan membuat gambar.

Untuk informasi tentang bekerja dengan layanan web, lihat

Bagian Variabel mencantumkan atribut representasi lokal dari objek Layanan web cloud. Variabel-variabel ini harus dianggap baca-saja. Mengubah nilainya tidak akan tercermin dalam objek cloud yang sesuai.

Variabel

auth_enabled
bool

Apakah Layanan web telah mengaktifkan autentikasi atau tidak.

compute_type
str

Jenis komputasi apa yang menjadi tempat penyebaran Layanan web.

created_time
datetime

Ketika Layanan web dibuat.

azureml.core.Webservice.description

Deskripsi objek Layanan web.

azureml.core.Webservice.tags

Kamus tag untuk objek Layanan web.

azureml.core.Webservice.name

Nama Layanan web.

azureml.core.Webservice.properties

Kamus properti nilai kunci untuk Layanan web. Properti ini tidak dapat diubah setelah penyebaran, namun pasangan nilai kunci baru bisa ditambahkan.

created_by
str

Pengguna yang membuat Layanan web.

error
str

Jika Layanan web gagal disebarkan, Layanan web akan berisi pesan kesalahan mengapa gagal.

azureml.core.Webservice.state

Status Layanan web saat ini.

updated_time
datetime

Terakhir kali Layanan web diperbarui.

azureml.core.Webservice.workspace

Ruang Kerja Azure Machine Learning yang berisi Layanan web ini.

token_auth_enabled
bool

Apakah Layanan web mengaktifkan autentikasi token atau tidak.

Metode

check_for_existing_webservice

Periksa layanan web yang ada.

delete

Hapus Layanan Web ini dari ruang kerja terkait.

Panggilan fungsi ini tidak asinkron. Panggilan berjalan hingga sumber daya dihapus. WebserviceException diajukan jika terdapat masalah saat menghapus model dari Layanan Manajemen Model.

deploy

Sebarkan Layanan web dari nol atau beberapa objek Model.

Fungsi ini akan mendaftarkan semua file model yang disediakan dan membuat gambar dalam proses, semua terkait dengan Workspace yang ditentukan. Gunakan fungsi ini jika Anda memiliki direktori model yang akan disebarkan yang belum pernah didaftarkan sebelumnya.

Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Untuk informasi selengkapnya, lihat Menggunakan model yang disebarkan sebagai layanan web.

deploy_from_image

Menyebarkan Layanan web dari objek Image.

Gunakan fungsi ini jika Anda sudah memiliki objek Gambar yang dibuat untuk model.

Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Untuk informasi selengkapnya, lihat Menggunakan model yang disebarkan sebagai layanan web.

deploy_from_model

Sebarkan Layanan web dari nol atau beberapa objek Model.

Fungsi ini mirip dengan deploy, tetapi tidak mendaftarkan model. Gunakan fungsi ini jika Anda memiliki objek model yang sudah terdaftar. Fungsi ini akan membuat gambar dalam prosesnya, terkait dengan Ruang Kerja yang ditentukan.

Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Untuk informasi selengkapnya, lihat Menggunakan model yang disebarkan sebagai layanan web.

deploy_local_from_model

Bangun dan sebarkan LocalWebservice untuk pengujian.

Wajibkan Docker untuk diinstal dan dikonfigurasi.

deserialize

Mengonversi objek JSON respons Layanan Manajemen Model menjadi objek Layanan Web.

Akan gagal jika ruang kerja yang disediakan bukan merupakan ruang kerja tempat Layanan web terdaftar.

get_keys

Mengambil kunci autentikasi untuk Layanan web ini.

get_logs

Mengambil log untuk Layanan web ini.

get_token

Ambil token untuk Layanan Web ini, yang dicakup ke pengguna saat ini.

list

Cantumkan Layanan web yang terkait dengan Workspace yang sesuai.

Hasil yang dikembalikan dapat difilter menggunakan parameter.

regen_key

Regenerasi salah satu kunci Layanan web, baik kunci 'Primary' atau 'Secondary'.

WebserviceException diajukan jika key tidak ditentukan atau bukan merupakan 'Primary' atau 'Secondary'.

run

Hubungi Layanan Web ini dengan input yang disediakan.

Metode abstrak diterapkan oleh kelas turunan dari Webservice.

serialize

Ubah objek Layanan web ini menjadi kamus yang diserialisasi JSON.

Gunakan deserialize untuk mengubah kembali menjadi objek Layanan web.

update

Perbarui parameter Layanan web.

Ini adalah metode abstrak yang diterapkan oleh kelas turunan dari Webservice. Parameter yang dapat diperbarui bervariasi berdasarkan jenis turunan Layanan web. Misalnya, untuk layanan web Azure Container Instances, lihat update untuk parameter tertentu.

update_deployment_state

Refresh status objek dalam memori saat ini.

Lakukan pembaruan properti objek di tempat berdasarkan status objek cloud terkait saat ini. Terutama berguna untuk polling manual dari status pembuatan.

wait_for_deployment

Poll secara otomatis pada penyebaran Layanan web yang sedang berjalan.

Tunggu hingga Layanan web mencapai status terminal. Akan menggunakan WebserviceException jika mencapai keadaan terminal yang tidak berhasil atau melebihi batas waktu yang disediakan.

check_for_existing_webservice

Periksa layanan web yang ada.

static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)

Parameter

workspace
Workspace
Diperlukan
name
str
Diperlukan
overwrite
bool
nilai default: False
request_func
<xref:function>
nilai default: None

berfungsi untuk meminta layanan guna memeriksa apakah nama layanan tersedia

check_func
<xref:function>
nilai default: None

berfungsi untuk memeriksa konten respons request_func

Pengecualian

delete

Hapus Layanan Web ini dari ruang kerja terkait.

Panggilan fungsi ini tidak asinkron. Panggilan berjalan hingga sumber daya dihapus. WebserviceException diajukan jika terdapat masalah saat menghapus model dari Layanan Manajemen Model.

delete()

Pengecualian

deploy

Sebarkan Layanan web dari nol atau beberapa objek Model.

Fungsi ini akan mendaftarkan semua file model yang disediakan dan membuat gambar dalam proses, semua terkait dengan Workspace yang ditentukan. Gunakan fungsi ini jika Anda memiliki direktori model yang akan disebarkan yang belum pernah didaftarkan sebelumnya.

Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Untuk informasi selengkapnya, lihat Menggunakan model yang disebarkan sebagai layanan web.

static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Parameter

workspace
Workspace
Diperlukan

Objek Ruang kerja yang akan dikaitkan dengan Layanan web.

name
str
Diperlukan

Nama untuk memberikan layanan yang disebarkan. Harus bersifat unik bagi ruang kerja, hanya terdiri dari huruf kecil, angka, atau tanda hubung, dimulai dengan huruf, dan panjangnya antara 3 dan 32 karakter.

model_paths
list[str]
Diperlukan

Daftar jalur on-disk untuk memodelkan file atau folder. Bisa berupa daftar kosong.

image_config
ImageConfig
Diperlukan

Objek ImageConfig yang digunakan untuk menentukan properti Gambar yang diperlukan.

deployment_config
WebserviceDeploymentConfiguration
nilai default: None

WebserviceDeploymentConfiguration yang digunakan untuk mengonfigurasi layanan web. Jika tidak tersedia, objek konfigurasi kosong akan digunakan berdasarkan target yang diinginkan.

deployment_target
ComputeTarget
nilai default: None

ComputeTarget yang akan menjadi tempat penyebaran Layanan web. Karena Azure Container Instances tidak memiliki ComputeTarget terkait, biarkan parameter ini sebagai Tidak ada untuk disebarkan ke Azure Container Instances.

overwrite
bool
nilai default: False

Timpa layanan yang ada jika layanan dengan nama sudah tersedia.

Mengembalikan

Objek Layanan web yang sesuai dengan layanan web yang disebarkan.

Tipe hasil

Pengecualian

deploy_from_image

Menyebarkan Layanan web dari objek Image.

Gunakan fungsi ini jika Anda sudah memiliki objek Gambar yang dibuat untuk model.

Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Untuk informasi selengkapnya, lihat Menggunakan model yang disebarkan sebagai layanan web.

static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)

Parameter

workspace
Workspace
Diperlukan

Objek Ruang kerja yang akan dikaitkan dengan Layanan web.

name
str
Diperlukan

Nama untuk memberikan layanan yang disebarkan. Harus bersifat unik bagi ruang kerja, hanya terdiri dari huruf kecil, angka, atau tanda hubung, dimulai dengan huruf, dan panjangnya antara 3 dan 32 karakter.

image
Image
Diperlukan

Objek Image yang akan disebarkan.

deployment_config
WebserviceDeploymentConfiguration
nilai default: None

WebserviceDeploymentConfiguration yang digunakan untuk mengonfigurasi layanan web. Jika tidak tersedia, objek konfigurasi kosong akan digunakan berdasarkan target yang diinginkan.

deployment_target
ComputeTarget
nilai default: None

ComputeTarget yang akan menjadi tempat penyebaran Layanan web. Karena Azure Container Instances tidak memiliki ComputeTarget terkait, biarkan parameter ini sebagai Tidak ada untuk disebarkan ke Azure Container Instances.

overwrite
bool
nilai default: False

Timpa layanan yang ada jika layanan dengan nama sudah tersedia.

Mengembalikan

Objek Layanan web yang sesuai dengan layanan web yang disebarkan.

Tipe hasil

Pengecualian

deploy_from_model

Sebarkan Layanan web dari nol atau beberapa objek Model.

Fungsi ini mirip dengan deploy, tetapi tidak mendaftarkan model. Gunakan fungsi ini jika Anda memiliki objek model yang sudah terdaftar. Fungsi ini akan membuat gambar dalam prosesnya, terkait dengan Ruang Kerja yang ditentukan.

Layanan web yang dihasilkan adalah titik akhir real time yang dapat digunakan untuk permintaan inferensi. Untuk informasi selengkapnya, lihat Menggunakan model yang disebarkan sebagai layanan web.

static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)

Parameter

workspace
Workspace
Diperlukan

Objek Ruang kerja yang akan dikaitkan dengan Layanan web.

name
str
Diperlukan

Nama untuk memberikan layanan yang disebarkan. Harus bersifat unik bagi ruang kerja, hanya terdiri dari huruf kecil, angka, atau tanda hubung, dimulai dengan huruf, dan panjangnya antara 3 dan 32 karakter.

models
list[Model]
Diperlukan

Daftar objek model. Bisa berupa daftar kosong.

image_config
ImageConfig
Diperlukan

Objek ImageConfig yang digunakan untuk menentukan properti Gambar yang diperlukan.

deployment_config
WebserviceDeploymentConfiguration
nilai default: None

WebserviceDeploymentConfiguration yang digunakan untuk mengonfigurasi layanan web. Jika tidak tersedia, objek konfigurasi kosong akan digunakan berdasarkan target yang diinginkan.

deployment_target
ComputeTarget
nilai default: None

ComputeTarget yang akan menjadi tempat penyebaran Layanan web. Karena ACI tidak memiliki ComputeTarget yang terkait, biarkan parameter ini sebagai Tidak Ada untuk disebarkan ke ACI.

overwrite
bool
nilai default: False

Timpa layanan yang ada jika layanan dengan nama sudah tersedia.

Mengembalikan

Objek Layanan web yang sesuai dengan layanan web yang disebarkan.

Tipe hasil

Pengecualian

deploy_local_from_model

Bangun dan sebarkan LocalWebservice untuk pengujian.

Wajibkan Docker untuk diinstal dan dikonfigurasi.

static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)

Parameter

workspace
Workspace
Diperlukan

Objek Ruang kerja yang digunakan untuk mengaitkan Layanan Web.

name
str
Diperlukan

Nama untuk memberikan layanan yang disebarkan. Harus bersifat unik di komputer lokal.

models
list[Model]
Diperlukan

Daftar objek model. Bisa berupa daftar kosong.

image_config
ImageConfig
Diperlukan

Objek ImageConfig yang digunakan untuk menentukan properti gambar layanan yang diperlukan.

deployment_config
LocalWebserviceDeploymentConfiguration
nilai default: None

LocalWebserviceDeploymentConfiguration yang digunakan untuk mengonfigurasi layanan web. Jika tidak tersedia, objek konfigurasi kosong akan digunakan.

wait
bool
nilai default: False

Apakah akan menunggu kontainer Docker LocalWebservice untuk dilaporkan sebagai sehat. Berikan pengecualian jika kontainer mengalami crash. Defaultnya adalah False.

Tipe hasil

Pengecualian

deserialize

Mengonversi objek JSON respons Layanan Manajemen Model menjadi objek Layanan Web.

Akan gagal jika ruang kerja yang disediakan bukan merupakan ruang kerja tempat Layanan web terdaftar.

deserialize(workspace, webservice_payload)

Parameter

cls
Diperlukan

Tunjukkan bahwa ini adalah metode kelas.

workspace
Workspace
Diperlukan

Objek ruang kerja yang didaftarkan oleh Layanan Web.

webservice_payload
dict
Diperlukan

Objek JSON yang akan dikonversi menjadi objek Layanan Web.

Mengembalikan

Representasi Layanan web dari objek JSON yang disediakan.

Tipe hasil

Pengecualian

get_keys

Mengambil kunci autentikasi untuk Layanan web ini.

get_keys()

Mengembalikan

Kunci autentikasi untuk Layanan Web ini.

Tipe hasil

(str, str)

Pengecualian

get_logs

Mengambil log untuk Layanan web ini.

get_logs(num_lines=5000, init=False)

Parameter

num_lines
int
nilai default: 5000

Jumlah maksimum garis log yang akan diambil.

init
bool
nilai default: False

Dapatkan log kontainer init

Mengembalikan

Log untuk Layanan web ini.

Tipe hasil

str

Pengecualian

get_token

Ambil token untuk Layanan Web ini, yang dicakup ke pengguna saat ini.

get_token()

Mengembalikan

Token untuk Layanan Web ini dan ketika harus di-refresh setelahnya.

Tipe hasil

Pengecualian

list

Cantumkan Layanan web yang terkait dengan Workspace yang sesuai.

Hasil yang dikembalikan dapat difilter menggunakan parameter.

static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)

Parameter

workspace
Workspace
Diperlukan

Objek Ruang kerja untuk mencantumkan Layanan web.

compute_type
str
nilai default: None

Filter untuk mencantumkan jenis Layanan web tertentu saja. Opsi adalah 'ACI', 'AKS'.

image_name
str
nilai default: None

Filter daftar untuk menyertakan Layanan web yang disebarkan dengan nama gambar tertentu. saja.

image_id
str
nilai default: None

Filter daftar untuk menyertakan Layanan web yang diterapkan dengan ID gambar tertentu saja.

model_name
str
nilai default: None

Filter daftar untuk menyertakan Layanan web yang disebarkan dengan nama model tertentu saja.

model_id
str
nilai default: None

Filter daftar untuk menyertakan Layanan web yang disebarkan dengan ID model tertentu saja.

tags
list
nilai default: None

Filter berdasarkan daftar yang disediakan, baik dengan 'key' atau '[key, value]'. Contoh ['key', ['key2', 'key2 value']]

properties
list
nilai default: None

Filter berdasarkan daftar yang disediakan, baik dengan 'key' atau '[key, value]'. Contoh ['key', ['key2', 'key2 value']]

image_digest
str
nilai default: None

Filter daftar untuk menyertakan Layanan web yang disebarkan dengan digest gambar tertentu saja.

Mengembalikan

Daftar Layanan web yang difilter di Ruang kerja yang disediakan.

Tipe hasil

Pengecualian

regen_key

Regenerasi salah satu kunci Layanan web, baik kunci 'Primary' atau 'Secondary'.

WebserviceException diajukan jika key tidak ditentukan atau bukan merupakan 'Primary' atau 'Secondary'.

regen_key(key, set_key=None)

Parameter

key
str
Diperlukan

Kunci yang akan diregenerasi. Opsinya adalah 'Primary' atau 'Secondary'.

set_key
str
nilai default: None

Nilai yang ditentukan pengguna yang memungkinkan spesifikasi manual dari nilai kunci

Pengecualian

run

Hubungi Layanan Web ini dengan input yang disediakan.

Metode abstrak diterapkan oleh kelas turunan dari Webservice.

abstract run(input)

Parameter

input
<xref:varies>
Diperlukan

Data input yang digunakan untuk memanggil Layanan web. Ini adalah data yang diharapkan model pembelajaran mesin Anda sebagai input untuk menjalankan prediksi.

Mengembalikan

Hasil dari memanggil Layanan web. Ini akan mengembalikan prediksi yang dijalankan dari model pembelajaran mesin Anda.

Tipe hasil

Pengecualian

serialize

Ubah objek Layanan web ini menjadi kamus yang diserialisasi JSON.

Gunakan deserialize untuk mengubah kembali menjadi objek Layanan web.

serialize()

Mengembalikan

Representasi JSON dari Layanan Web ini.

Tipe hasil

Pengecualian

update

Perbarui parameter Layanan web.

Ini adalah metode abstrak yang diterapkan oleh kelas turunan dari Webservice. Parameter yang dapat diperbarui bervariasi berdasarkan jenis turunan Layanan web. Misalnya, untuk layanan web Azure Container Instances, lihat update untuk parameter tertentu.

abstract update(*args)

Parameter

args
<xref:varies>
Diperlukan

Nilai yang akan diperbarui.

Pengecualian

update_deployment_state

Refresh status objek dalam memori saat ini.

Lakukan pembaruan properti objek di tempat berdasarkan status objek cloud terkait saat ini. Terutama berguna untuk polling manual dari status pembuatan.

update_deployment_state()

Pengecualian

wait_for_deployment

Poll secara otomatis pada penyebaran Layanan web yang sedang berjalan.

Tunggu hingga Layanan web mencapai status terminal. Akan menggunakan WebserviceException jika mencapai keadaan terminal yang tidak berhasil atau melebihi batas waktu yang disediakan.

wait_for_deployment(show_output=False, timeout_sec=None)

Parameter

show_output
bool
nilai default: False

Menunjukkan apakah akan mencetak lebih banyak output verbose.

timeout_sec
float
nilai default: None

Ajukan pengecualian jika penyebaran melebihi batas waktu yang ditentukan.

Pengecualian