TensorFlow Serving adalah mesin layanan inferensi untuk model pembelajaran mendalam. Layanan ini menyebarkan model dalam format standar TensorFlow SavedModel sebagai layanan online dan mendukung fitur seperti pembaruan bergulir (rolling updates) serta manajemen versi model. Topik ini menjelaskan cara menyebarkan layanan model TensorFlow Serving menggunakan gambar.
Prasyarat
File model
Untuk men-deploy layanan menggunakan image TensorFlow Serving, Anda harus menyimpan file model di dalam bucket OSS. Direktori penyimpanan tersebut harus memenuhi persyaratan berikut:
Direktori versi model: Setiap model harus memiliki setidaknya satu direktori versi model. Direktori tersebut harus diberi nama berupa angka yang berfungsi sebagai nomor versi. Angka yang lebih besar menunjukkan versi yang lebih baru.
File model: Direktori versi model berisi file model yang diekspor dalam format SavedModel. Layanan secara otomatis memuat file model dari direktori dengan nomor versi tertinggi.
Ikuti langkah-langkah berikut:
Buat direktori penyimpanan model di dalam bucket OSS, misalnya
oss://examplebucket/models/tf_serving/. Untuk informasi selengkapnya, lihat Mengelola direktori.Unggah file model ke direktori yang telah Anda buat pada Langkah 1. Anda dapat mengunduh dan menggunakan file model TensorFlow Serving contoh untuk topik ini. Direktori penyimpanan model memiliki format berikut:
tf_serving ├── modelA │ └── 1 │ ├── saved_model.pb │ └── variables │ ├── variables.data-00000-of-00001 │ └── variables.index │ ├── modelB │ ├── 1 │ │ └── ... │ └── 2 │ └── ... │ └── modelC ├── 1 │ └── ... ├── 2 │ └── ... └── 3 └── ...
File konfigurasi model
Gunakan file konfigurasi untuk menjalankan beberapa model dalam satu layanan. Jika Anda hanya perlu menerapkan layanan single-model, lewati bagian ini.
Buat file konfigurasi seperti yang dijelaskan di bawah ini dan unggah ke OSS. File contoh yang tersedia di bagian File model sudah berisi file konfigurasi model bernama model_config.pbtxt. Anda dapat menggunakannya langsung atau memodifikasinya sesuai kebutuhan. Dalam contoh ini, file konfigurasi model diunggah ke direktori oss://examplebucket/models/tf_serving/.
Contoh berikut menunjukkan isi file konfigurasi model model_config.pbtxt:
model_config_list {
config {
name: 'modelA'
base_path: '/models/modelA/'
model_platform: 'tensorflow'
model_version_policy{
all: {}
}
}
config {
name: 'modelB'
base_path: '/models/modelB/'
model_platform: 'tensorflow'
model_version_policy{
specific {
versions: 1
versions: 2
}
}
version_labels {
key: 'stable'
value: 1
}
version_labels {
key: 'canary'
value: 2
}
}
config {
name: 'modelC'
base_path: '/models/modelC/'
model_platform: 'tensorflow'
model_version_policy{
latest {
num_versions: 2
}
}
}
}Parameter utama dijelaskan sebagai berikut:
Parameter | Wajib | Deskripsi |
name | Tidak | Nama kustom untuk model. Konfigurasikan parameter ini. Jika Anda tidak menentukan nama model, model_name akan kosong, dan Anda tidak dapat memanggil layanan model. |
base_path | Ya | Jalur direktori penyimpanan model dalam instans. Jalur ini digunakan untuk membaca file model selama penerapan layanan. Misalnya, jika direktori mount adalah |
model_version_policy | Tidak | Kebijakan pemuatan versi model.
|
version_labels | Tidak | Mengonfigurasi tag kustom untuk versi model. Jika Anda tidak mengonfigurasi version_labels, Anda hanya dapat membedakan versi model berdasarkan nomor versinya. URI permintaan adalah Jika Anda menetapkan version_labels, Anda dapat menggunakan label versi dalam permintaan untuk mengarah ke nomor versi tertentu: Catatan Secara default, label hanya dapat ditetapkan untuk versi model yang telah berhasil dimuat dan dijalankan sebagai layanan. Untuk menetapkan label pada versi model yang belum dimuat, Anda harus mengatur parameter startup |
Menyebar layanan
Anda dapat menyebar gambar TensorFlow Serving dengan salah satu dari dua cara berikut.
Penerapan model berbasis skenario: Cocok untuk skenario penerapan dasar. Anda cukup mengonfigurasi beberapa parameter untuk menyebar layanan model TensorFlow Serving dengan sekali klik.
Penerapan model kustom: Opsi ini memungkinkan Anda menyesuaikan lebih banyak opsi konfigurasi, seperti mengubah port atau mengatur periode polling untuk file model.
Layanan model TensorFlow Serving mendukung dua port: 8501 dan 8500.
8501: Mendukung permintaan HTTP. Layanan HTTP atau REST dijalankan pada port 8501.
8500: Mendukung permintaan gRPC. Layanan gRPC dijalankan pada port 8500.
Penerapan model berbasis skenario menggunakan port 8501 secara default dan tidak dapat diubah. Untuk menggunakan port 8500, pilih penerapan model kustom.
Penerapan model berbasis skenario
Ikuti langkah-langkah berikut:
-
Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Lalu, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).
Pada halaman Elastic Algorithm Service (EAS), klik Deploy Service. Kemudian, di bagian Scenario-based Model Deployment, klik Tensorflow Serving Deployment.
Pada halaman Tensorflow Serving Deployment, konfigurasikan parameter. Berikut penjelasan parameter utama. Untuk informasi tentang mengonfigurasi parameter lainnya, lihat Custom Deployment.
Parameter
Deskripsi
Deployment Method
Dua metode penerapan didukung:
Standard Model Deployment: Menyebar layanan model tunggal.
Configuration File Deployment: Menyebar layanan multi-model.
Model Settings
Saat Deployment Method diatur ke Standard Model Deployment, Anda harus mengonfigurasi jalur OSS tempat file model disimpan.
Saat Deployment Method diatur ke Configuration File Deployment, Anda perlu mengonfigurasi parameter berikut:
OSS: Pilih jalur OSS tempat file model disimpan.
Mount Path: Jalur tujuan dalam instans layanan untuk memasang (mount). Jalur ini digunakan untuk membaca file model.
Configuration File: Pilih jalur OSS tempat file konfigurasi model disimpan.
Contoh konfigurasi parameter:
Parameter
Contoh model tunggal (deployment modelA)
Contoh multi-model
Service Name
modela_scene
multi_scene
Deployment Method
Pilih Standard Model Deployment.
Pilih Configuration File Deployment.
Model Settings
OSS:
oss://examplebucket/models/tf_serving/modelA/.OSS:
oss://examplebucket/models/tf_serving/.Mount Path: /models
Configuration File:
oss://examplebucket/models/tf_serving/model_config.pbtxt
Setelah mengonfigurasi parameter, klik Deploy.
Penerapan model kustom
Ikuti langkah-langkah berikut:
-
Masuk ke Konsol PAI. Pilih wilayah di bagian atas halaman. Lalu, pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).
-
Klik Deploy Service. Di bagian Custom Model Deployment, klik Custom Deployment.
Pada halaman Custom Deployment, Anda dapat mengonfigurasi parameter. Parameter utama dijelaskan sebagai berikut. Untuk informasi tentang pengaturan parameter lainnya, lihat Custom Deployment.
Parameter
Deskripsi
Image Configuration
Dalam daftar Alibaba Cloud Image, pilih tensorflow-serving dan nama gambar yang sesuai. Kami menyarankan Anda menggunakan versi terbaru.
CatatanJika layanan memerlukan GPU, versi gambar harus berupa x.xx.x-gpu.
Model Settings
Beberapa metode didukung untuk mengonfigurasi file model. Dalam contoh ini, tipe OSS digunakan.
Uri: Pilih jalur OSS tempat file model disimpan.
Mount Path: Jalur tujuan dalam instans layanan untuk memasang (mount). Jalur ini digunakan untuk membaca file model.
Command to Run
Parameter startup untuk tensorflow-serving. Saat Anda memilih gambar tensorflow-serving, perintah
/usr/bin/tf_serving_entrypoint.shakan dimuat secara otomatis. Parameter tambahan yang perlu Anda atur dijelaskan sebagai berikut.Parameter startup untuk penerapan model tunggal:
--model_name: Nama model, yang digunakan dalam URL permintaan layanan. Jika Anda tidak mengonfigurasi parameter ini, nama default-nya adalah model.--model_base_path: Menentukan jalur direktori penyimpanan model di instans. Jika Anda tidak mengonfigurasi parameter ini, jalur default-nya adalah/models/model.
Parameter startup untuk penerapan multi-model:
--model_config_file: Wajib. Menentukan file konfigurasi model.--model_config_file_poll_wait_seconds: Opsional. Jika Anda ingin memodifikasi konten file konfigurasi model setelah layanan dijalankan, Anda perlu mengonfigurasi periode polling untuk file model dalam satuan detik. Layanan secara berkala membaca konten file konfigurasi model pada interval yang dikonfigurasi. Misalnya,--model_config_file_poll_wait_seconds=30berarti layanan membaca file konfigurasi model setiap 30 detik.CatatanSaat layanan model membaca file konfigurasi model baru, layanan hanya mengeksekusi konten file baru tersebut. Misalnya, jika file konfigurasi lama berisi model A, sedangkan file konfigurasi baru menghapus model A dan menambahkan konfigurasi untuk model B, maka layanan akan menguninstall model A dan memuat model B.
--allow_version_labels_for_unavailable_models: Opsional. Nilai default-nya adalah false. Jika Anda ingin menetapkan tag pada versi model yang belum dimuat, atur parameter ini ke true. Misalnya,--allow_version_labels_for_unavailable_models=true.
Contoh konfigurasi parameter:
Parameter
Contoh model tunggal (men-deploy modelA)
Contoh multi-model
Deployment Method
Pilih Image-based Deployment.
Image Configuration
Pilih Alibaba Cloud Image: tensorflow-serving > tensorflow-serving:2.14.1.
Model Settings
Atur Model Type ke OSS.
Uri:
oss://examplebucket/models/tf_serving/.Mount Path: Atur ke
/models.
Command to Run
/usr/bin/tf_serving_entrypoint.sh --model_name=modelA --model_base_path=/models/modelA/usr/bin/tf_serving_entrypoint.sh --model_config_file=/models/model_config.pbtxt --model_config_file_poll_wait_seconds=30 --allow_version_labels_for_unavailable_models=truePort default adalah 8501. Layanan menjalankan layanan HTTP atau REST pada port 8501 dan mendukung permintaan HTTP. Jika Anda memerlukan layanan untuk mendukung permintaan gRPC, lakukan operasi berikut:
Di bagian Environment Information, ubah Port Number menjadi 8500.
Di Environment Information, aktifkan sakelar Enable gRPC.
Di Service Configurations, tambahkan konfigurasi berikut.
"networking": { "path": "/" }
Klik Deploy.
Kirim permintaan layanan
Layanan mendukung protokol permintaan HTTP dan gRPC, tergantung pada nomor port yang dikonfigurasi dalam perintah run saat penerapan layanan. Bagian berikut memberikan contoh permintaan layanan untuk modelA.
Persiapkan data uji
modelA adalah model klasifikasi gambar. Set data pelatihan adalah Fashion-MNIST, dan sampelnya berupa gambar grayscale berukuran 28x28. Output model adalah probabilitas bahwa suatu sampel termasuk ke salah satu dari 10 kelas. Untuk tujuan pengujian, kami menggunakan
[[[[1.0]] * 28] * 28]sebagai data uji untuk permintaan layanan modelA.Contoh permintaan
Permintaan HTTP
Jika nomor port diatur ke 8501, layanan mendukung permintaan HTTP. Tabel berikut merangkum jalur permintaan HTTP untuk penerapan model tunggal dan multi-model:
Model tunggal
Multi-model
Format jalur:
<service_url>/v1/models/<model_name>:predictDi mana:
Penerapan berbasis skenario: <model_name> tidak dapat dikustomisasi dan default-nya adalah model.
Penerapan kustom: <model_name> adalah nama model yang dikonfigurasi dalam Command to Run. Jika tidak ada nama model yang dikonfigurasi, default-nya adalah
model.
Permintaan tanpa menentukan versi maupun permintaan yang menentukan versi model didukung. Format jalurnya sebagai berikut:
Tidak menentukan versi (memuat versi terbaru secara default):
<service_url>/v1/models/<model_name>:predictMenentukan versi model:
<service_url>/v1/models/<model_name>/versions/<version_num>:predictJika version_labels diatur:
<service_url>/v1/models/<model_name>/labels/<version label>:predict
Dengan, <model_name> adalah nama model yang dikonfigurasi dalam file konfigurasi model.
Parameter <service_url> adalah titik akhir layanan yang telah Anda sebar. Untuk menemukan titik akhir tersebut, buka halaman Elastic Algorithm Service (EAS) dan klik Invocation Information di kolom Service Type layanan target. Saat Anda melakukan debugging online di konsol, jalur ini akan diisi secara otomatis.
Ambil contoh penerapan berbasis skenario untuk model tunggal modelA. Jalur permintaan HTTP-nya adalah
<service_url>/v1/models/model:predict.Contoh berikut menunjukkan cara mengirim permintaan layanan melalui debugging online di konsol dan menggunakan kode Python:
Debugging daring
Setelah layanan diterapkan, klik kolom Actions layanan tersebut, lalu klik Online Debugging. Parameter Request Parameter Online Tuning sudah diisi dengan <service_url>. Tambahkan jalur
/v1/models/model:predictke alamat tersebut dan konfigurasikan data permintaan layanan di bagian Body:{"signature_name": "serving_default", "instances": [[[[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0], [1.0]]]]}Setelah mengonfigurasi parameter, klik Send Request untuk mendapatkan output yang mirip dengan berikut.

Kirim permintaan HTTP menggunakan kode Python
Berikut ini contoh kode Python:
from urllib import request import json # Ganti dengan titik akhir layanan dan token Anda. # Anda dapat menemukannya di tab Shared Gateway - Internet Endpoint pada halaman Call Info. service_url = '<service_url>' token = '<token>' # Untuk penerapan model tunggal berbasis skenario, nama model adalah 'model'. Untuk kasus lain, lihat tabel deskripsi jalur di atas. model_name = "model" url = "{}/v1/models/{}:predict".format(service_url, model_name) # Buat permintaan HTTP. req = request.Request(url, method="POST") req.add_header('authorization', token) data = { 'signature_name': 'serving_default', 'instances': [[[[1.0]] * 28] * 28] } # Panggil layanan. response = request.urlopen(req, data=json.dumps(data).encode('utf-8')).read() # Lihat hasilnya. response = json.loads(response) print(response)Permintaan gRPC
Jika nomor port diatur ke 8500 dan konfigurasi terkait gRPC ditambahkan, layanan mendukung permintaan gRPC. Berikut ini contoh kode Python:
import grpc import tensorflow as tf from tensorflow_serving.apis import predict_pb2 from tensorflow_serving.apis import prediction_service_pb2_grpc from tensorflow.core.framework import tensor_shape_pb2 # Titik akhir layanan. Untuk formatnya, lihat deskripsi parameter host di bawah. host = "tf-serving-multi-grpc-test.166233998075****.cn-hangzhou.pai-eas.aliyuncs.com:80" # Ganti <token> dengan token layanan. Anda dapat menemukan token di tab Shared Gateway - Internet Endpoint. token = "<token>" # Nama model. Lihat deskripsi parameter name di bawah. name = "<model_name>" signature_name = "serving_default" # Atur ke nomor versi model. Anda hanya dapat mengirim permintaan ke satu versi model dalam satu waktu. version = "<version_num>" # Buat permintaan gRPC. request = predict_pb2.PredictRequest() request.model_spec.name = name request.model_spec.signature_name = signature_name request.model_spec.version.value = version request.inputs["keras_tensor"].CopyFrom(tf.make_tensor_proto([[[[1.0]] * 28] * 28])) # Panggil layanan. channel = grpc.insecure_channel(host) stub = prediction_service_pb2_grpc.PredictionServiceStub(channel) metadata = (("authorization", token),) response, _ = stub.Predict.with_call(request, metadata=metadata) print(response)Parameter utama dikonfigurasi sebagai berikut:
Parameter
Deskripsi
host
Anda harus mengonfigurasinya sebagai titik akhir layanan. Titik akhir harus menghilangkan
http://dan diakhiri dengan:80. Anda dapat menemukan titik akhir di halaman Elastic Algorithm Service (EAS) dengan mengklik Invocation Information di kolom Service Type untuk layanan yang ingin Anda panggil.name
Kirim permintaan gRPC untuk satu model:
Penerapan berbasis skenario: Atur ke model.
Penerapan kustom: Nama model dikonfigurasi sebagai nama model yang ditentukan dalam konfigurasi Command to Run. Jika tidak ada nama model yang ditentukan dalam Command to Run, default-nya adalah model.
Kirim permintaan gRPC untuk beberapa model:
Atur ke nama model yang dikonfigurasi dalam file konfigurasi model.
version
Atur ke nomor versi model. Anda hanya dapat mengirim permintaan ke satu versi model dalam satu waktu.
metadata
Token layanan. Anda dapat melihat token di halaman Invocation Information.
Referensi
Untuk mempelajari cara menyebar layanan Elastic Algorithm Service (EAS) berdasarkan mesin Triton Inference Server, lihat Menyebar layanan menggunakan gambar Triton Inference Server.
Anda juga dapat mengembangkan gambar kustom dan menggunakannya untuk menyebar layanan EAS. Untuk informasi selengkapnya, lihat Gambar kustom.